Предполагая, что у вас есть код внутри класса ES6 (документация):
/**
 * @typedef Test~options
 * @type {object.<string>}
 * @property {array} elements - An array containing elements
 * @property {number} length - The array length
 */
/**
 * @param  {Test~options} opt - Option object
 */
test(opt){
}
Теперь я хотел бы документировать другую функцию, назовите ее test2. Эта функция принимает точно такой же объект options, но нуждается в другом свойстве parent.
Как документировать это без документирования избыточных параметров? Резервирование означает:
/**
 * @typedef Test~options
 * @type {object.<string>}
 * @property {array} elements - An array containing elements
 * @property {number} length - The array length
 */
/**
 * @param  {Test~options} opt - Option object
 */
test(opt){
}
/**
 * @typedef Test~options2
 * @type {object.<string>}
 * @property {array} elements - An array containing elements
 * @property {number} length - The array length
 * @property {object} parent - The parent element
 */
/**
 * @param  {Test~options2} opt - Option object
 */
 test2(opt){
 }