Avatar ·

O que são arquivos `.d.ts` no TypeScript e para que servem?

Olá a todos! Acabei de começar a estudar TypeScript e me deparei com arquivos com extensão `.d.ts`. Para ser honesto, fiquei um pouco confuso. Na documentação oficial, diz que são "arquivos de declaração", mas não entendo completamente o propósito deles. Tenho um projeto onde uso a biblioteca `lodash`. Instalei ela via npm, mas o TypeScript reclama que não consegue encontrar os tipos para `lodash`. Tive que instalar separadamente `@types/lodash`, e depois disso apareceram arquivos `.d.ts` no projeto. Tentei escrever meu próprio arquivo `.d.ts` para uma função simples: ```typescript // utils.d.ts declare function greet(name: string): string; ``` Mas quando tentei usar essa função no meu código, o TypeScript disse que a função não existe. O que estou fazendo de errado? Expliquem, por favor: 1. O que são arquivos `.d.ts` em palavras simples? 2. Em quais casos preciso criá-los manualmente? 3. Como conectar e usar corretamente as declarações de tipos desses arquivos? Agradeço desde já!