Source: docs/def.doc.js

/**
 * A promise object provided by the [q]{@link https://github.com/kriskowal/q/wiki/API-Reference} promise library.
 * @example
 *  aPromise
 *      .then(function (result) {
 *          //process result
 *      })
 *      .catch(function (error) {
 *          //process error
 *      });
 * @external Promise
 */

/**
 * @description JavaScript Error class. For more information, look up the
 * [reference]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error}.
 * @typedef {object} Error
 * @prop {string} message - Message typically set in the constructor.
 * @prop {stack} stack - Detailed stack trace.
 */

/**
 * @description Javascript Object class. For more information, look up the
 * [reference]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object}.
 * @typedef {object} object
 */

/**
 * @description Javascript String class. For more information, look up the
 * [reference]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String}.
 * @typedef {string} string
 */

/**
 * @description Javascript null literal. For more information, look up the
 * [reference]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null}.
 * @typedef {null} null
 */

/**
 * @description Javascript undefined literal. For more information, look up the
 * [reference]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined}.
 * @typedef {undefined} undefined
 */

/**
 * @description Javascript Boolean class. For more information, look up the
 * [reference]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean}
 * @typedef {boolean} boolean
 */

/**
 * @description Javascript Array class. For more information, look up the
 * [reference]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array}.
 * @typedef {Array} Array
 */

/**
 * @description Javascript function class. For more information, look up the
 * [reference]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function}.
 * @typedef {function} function
 */

/**
 * @description Javascript Number class. For more information, look up the
 * [reference]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number}.
 * @typedef {number} number
 */

/**
 * @description Represents an integer from the Number class of Javascript. For more information, look up the
 * [reference]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number}.
 * @typedef {integer} integer
 */

/**
 * @description The main configuration object of the WebGME. For detailed information about the individual
 * options, look up the [wiki]{@link https://github.com/webgme/webgme/tree/master/config/README.md} pages.
 * @typedef {object} GmeConfig
 * @prop {object} addOn - Add-on related settings.
 * @prop {object} authentication - Authentication related settings.
 * @prop {object} bin - Bin script related settings.
 * @prop {object} blob - Blob related settings.
 * @prop {object} client - Client related settings.
 * @prop {object} core - Client related settings.
 * @prop {boolean} debug - Enables debug mode.
 * @prop {object} executor - Executor related settings.
 * @prop {object} mongo - Mongo database related settings.
 * @prop {object} plugin - Plugin related settings.
 * @prop {object} requirejsPaths - Additional paths to for requirejs.
 * @prop {object} rest - REST related settings.
 * @prop {object} seedProjects - Seed related settings.
 * @prop {object} server - Server related settings.
 * @prop {object} socketIO - Socket IO related settings.
 * @prop {object} storage - Storage related settings.
 * @prop {object} visualization - Visualization related settings.
 */

/**
 * @description Describes common API for loggers on both client and server side.
 * @class GmeLogger
 */

/**
 * @description Logs debug message.
 * @function debug
 * @memberOf GmeLogger
 * @instance
 *
 * @param {...*} message - The message of the log.
 */

/**
 * @description Logs info message
 * @function info
 * @memberOf GmeLogger
 * @instance
 *
 * @param {...*} message - The message of the log.
 */

/**
 * @description Logs warning message
 * @function warn
 * @memberOf GmeLogger
 * @instance
 *
 * @param {...*} message - The message of the log.
 */

/**
 * @description Logs error message
 * @function error
 * @memberOf GmeLogger
 * @instance
 *
 * @param {...*} message - The message of the log.
 */

/**
 * @description Creates a new logger with the same settings
 * and a name that is an augmentation of this logger and the provided string. If the second argument is true -
 * the provided name will be used as is.
 * @function fork
 * @memberOf GmeLogger
 * @instance
 *
 * @param {string} name - The augmentation of the initial namespace of the logger.
 * @param {boolean} [asIs=false] - If true it will be a replacement of the original namespace.
 *
 * @return {GmeLogger} The resulting logger.
 */