Como evitar que "Propriedade '...' não exista no tipo 'Global'" com jsdom e typcript?

Tento converter um projeto existente para usar o Typecript e tenho problemas ao fazê-lo na minha configuração de teste.

Eu tinha um arquivo de instalação para meus testes que configura o jsdom para que todo o meu código de interação DOM funcionasse durante meus testes. Usando o TypeScript (ts-node com mocha) sempre recebo erros como este:

Property 'window' does not exist on type 'Global'.

Para evitar isso, tentei corrigir a interface NodeJS.Global como esta:

declare namespace NodeJS{
  interface Global {
    document: Document;
    window: Window;
    navigator: Navigator;
  }
}

Mas isso não mudou nada.

Como habilito essas propriedades do navegador na variável global NodeJS?

Extras:

Este é o meu mochasetup.ts:

import { jsdom, changeURL } from 'jsdom';

const exposedProperties = ['window', 'navigator', 'document'];

global.document = jsdom('');
global.window = global.document.defaultView;
Object.keys(global.document.defaultView).forEach((property) => {
  if (typeof global[property] === 'undefined') {
    exposedProperties.push(property);
    global[property] = global.document.defaultView[property];
  }
});

global.navigator = {
  userAgent: 'node.js',
};

changeURL(global.window, 'http://example.com/');

questionAnswers(5)

yourAnswerToTheQuestion