/**
* @typedef PropertiesHash
* @type {object}
* @property {string} id - an ID.
* @property {string} name - your name.
* @property {number} age - your age.
* @property {boolean} isValid
*/
/**
* @callback myCallback
* @param {number} x - ...
*/
/**
* A description of the function.
*
* @see {@link https://example.com|Name}
* @param {string} title - Describe the param.
* @param {?string} author - An optional param.
* @param {PropertiesHash} properties - An object with some stuff.
* @param {?myCallback} callback - Function to call if present.
* @returns {string} Description.
*/
function myFunction(title, author, properties, callback) {
// ...
}