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>}`)
constructor() {
      this._capability = createPromiseCapability();
      this._transport = null;
      this._worker = null;
      /**
       * Unique identifier for the document loading task.
       * @type {string}
       */
      this.docId = "d" + nextDocumentId++;
      /**
       * Whether the loading task is destroyed or not.
       * @type {boolean}
       */
      this.destroyed = false;
      /**
       * Callback to request a password if a wrong or no password was provided.
       * The callback receives two parameters: a function that should be called
       * with the new password, and a reason (see {@link PasswordResponses}).