Hello!

Let me know if i should have opened this issue on the [pdfjs-dist](https://github.com/mozilla/pdfjs-dist) repo but I though here would fit.

I'm using pdfjs-dist and I'm in need of some more types to be exported. I have no idea how the types end up in the dist-repo but would love to open a PR if only someone could point me in the right direction 😃 Since I was using an older version of pdfjs-dist I realize the only type I need that's not in the type defs in the latest release are _PageViewport_ from _[display/display_utils](https://github.com/mozilla/pdf.js/blob/master/src/display/display_utils.js#L153)_.
const permissions = await Promise.all([promise0, promise1, promise2]);
      expect(permissions[0].length).toEqual(totalPermissionCount - 1);
      expect(
        permissions[0].includes(PermissionFlag.MODIFY_CONTENTS)
      ).toBeFalsy();
      expect(permissions[1].length).toEqual(totalPermissionCount - 2);
      expect(permissions[1].includes(PermissionFlag.PRINT)).toBeFalsy();
      expect(
        permissions[1].includes(PermissionFlag.PRINT_HIGH_QUALITY)
      ).toBeFalsy();
      expect(permissions[2].length).toEqual(totalPermissionCount - 1);
      expect(permissions[2].includes(PermissionFlag.COPY)).toBeFalsy();
      await Promise.all([
        loadingTask0.destroy(),
        loadingTask1.destroy(),
        loadingTask2.destroy(),
      ]);
    });
    it("gets metadata", async function () {
      const { info, metadata, contentDispositionFilename, contentLength } =
        await pdfDocument.getMetadata();
      expect(info.Title).toEqual("Basic API Test");
      
      expect(info.Custom).toEqual(undefined);
      
      expect(info.PDFFormatVersion).toEqual("1.7");
      expect(info.Language).toEqual("en");
      expect(info.EncryptFilterName).toEqual(null);
      expect(info.IsLinearized).toEqual(false);
      expect(info.IsAcroFormPresent).toEqual(false);