Avatar ·

Para que serve a palavra-chave `declare` no TypeScript? Explique com exemplos

Olá a todos! Comecei a estudar TypeScript e me deparei com a palavra-chave `declare`. Na documentação oficial diz que ela é usada para "declarar variáveis, funções e classes que existem em algum outro lugar". Mas não entendo muito bem para que serve isso e como funciona na prática.\n\nPor exemplo, estou escrevendo um script simples que usa a variável global `$` (jQuery). Sei que ela está incluída via CDN no HTML, mas o TypeScript reclama que `$` não está definida. Tentei escrever:\n\n```typescript\ndeclare var $: any;\n```\n\nE o erro desapareceu. Mas por que não posso simplesmente escrever `var $: any;`? Qual é a diferença? Se eu escrever `let $: any;`, também funciona, mas então o TypeScript vai considerar que estou criando uma nova variável, em vez de descrever uma já existente.\n\nTambém vi que `declar