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)_.
expect(info.IsXFAPresent).toEqual(false);
      expect(info.IsCollectionPresent).toEqual(false);
      expect(info.IsSignaturesPresent).toEqual(false);
      expect(metadata instanceof Metadata).toEqual(true);
      expect(metadata.get("dc:title")).toEqual("Basic API Test");
      expect(contentDispositionFilename).toEqual(null);
      expect(contentLength).toEqual(basicApiFileLength);
    });
    it("gets metadata, with custom info dict entries", async function () {
      const loadingTask = getDocument(
        buildGetDocumentParams("tracemonkey.pdf")
      );
      const pdfDoc = await loadingTask.promise;
      const { info, metadata, contentDispositionFilename, contentLength } =
        await pdfDoc.getMetadata();
      expect(info.Creator).toEqual("TeX");
      expect(info.Producer).toEqual("pdfeTeX-1.21a");
      expect(info.CreationDate).toEqual("D:20090401163925-07'00'");
      
      const custom = info.Custom;
      expect(typeof custom === "object" && custom !== null).toEqual(true);
      expect(custom["PTEX.Fullbanner"]).toEqual(
        "This is pdfeTeX, " +
          "Version 3.141592-1.21a-2.2 (Web2C 7.5.4) kpathsea version 3.5.6"
      );
      
      expect(info.PDFFormatVersion).toEqual("1.4");
      expect(info.Language).toEqual(null);
      expect(info.EncryptFilterName).toEqual(null);
      expect(info.IsLinearized).toEqual(false);