       onSuccess, onError
     )
 
+  ###*
+  * Callback, returns events from a particular calendar within a date range.
+  *
+  * @callback onFindEventsSuccess
+  * @param {HttpResponse} res - HTTP response
+  * @param {Array.<{}>} data - Array of events
+  *
+  * @example <caption>Example output</caption>
+  * res: {"offset":0,"readable":true,"_events":{},"statusCode":204,"headers":{"content-type":"text/plain; charset=UTF-8"}}
+  * data: [{},
+  *        {}]
+  ###
+
+  ###*
+  * Callback function, executed when finding events failed.
+  *
+  * @callback onFindEventsError
+  * @param {HttpResponse} res - HTTP response
+  * @param {ErrorMessage} data - Error message.
+  *
+  * @example <caption>Example output</caption>
+  * todo: insert example
+  ###
+
+  ###*
+  * @typedef {Object} HttpResponse
+  * @property {number} offset -
+  * @property {boolean} readable -
+  * @property {number} statusCode - See [HTTP status codes]{@link https://en.wikipedia.org/wiki/List_of_HTTP_status_codes}
+  * @property {Object} headers -
+  * @property {string} headers.content-type -
+  *
+  * @example
+  * {"offset":30,"readable":true,"_events":{},"statusCode":200,"headers":{"content-type":"application/json"}}
+  ###
+
+  ###*
+  *
+  * @typedef {Object} ErrorMessage
+  * @property {string} detail - Reason for error.
+  *
+  * @example
+  * {detail: "You do not have permission to perform this action."}
+  ###
+
 exports.UoACalendarClient = UoACalendarClient
 
 module.exports = (config) ->

  * Return apiToken used by UoACalendarClient instance.
  *
  * @returns {string}
  ###

  getApiToken: () ->

  ###*
  * Sends http request to calendar backend
  *
  * @param {string} path
  * @param {string} method
  * @param {string} data
  * @param {string} onSuccess
  * @param {string} onError
  * @private
  ###

