TypeScript team is figuring out how to expose these types on their `Window` interface, which `DOMWindow` extends (discussion [here](https://github.com/Microsoft/TypeScript/issues/19816)). In the meantime, this workaround will ensure that jsdom code compiles.
Some types are not defined even globally by TypeScript. These have been commented out in the `DOMWindow` interface, but are still valid properties in jsdom. If someone tries to use these properties, their code will still not compile.