https://github.com/mozilla/pdf.js/blob/0df1a5661958df0c4ed2f73b0f3266d825c5c280/src/display/api.js#L710-L719
The return type signature `@returns {Promise<{num: number, gen: number}>}` is mismatched with its definition. (should be `@returns {Promise<number>}`)
* @type {function}
       */
      this.onPassword = null;
      /**
       * Callback to be able to monitor the loading progress of the PDF file
       * (necessary to implement e.g. a loading bar). The callback receives
       * an {Object} with the properties `loaded` ({number}) and `total`
       * ({number}) that indicate how many bytes are loaded.
       * @type {function}
       */
      this.onProgress = null;
      /**
       * Callback for when an unsupported feature is used in the PDF document.
       * The callback receives an {@link UNSUPPORTED_FEATURES} argument.
       * @type {function}
       */
      this.onUnsupportedFeature = null;
    }
    /**
     * Promise for document loading task completion.
     * @type {Promise<PDFDocumentProxy>}
     */
    get promise() {
      return this._capability.promise;
    }
    /**
     * @returns {Promise<void>} A promise that is resolved when destruction is
     *   completed.
     */
    destroy() {