¿Qué son los archivos `.d.ts` en TypeScript y para qué sirven?
¡Hola a todos! Acabo de empezar a aprender TypeScript y me topé con archivos con extensión `.d.ts`. Para ser honesto, estoy un poco confundido. En la documentación oficial dice que son "archivos de declaración", pero no termino de entender su propósito.
Tengo un proyecto donde uso la librería `lodash`. La instalé a través de npm, pero TypeScript se queja de que no puede encontrar los tipos para `lodash`. Tuve que instalar `@types/lodash` por separado, y después de eso aparecieron archivos `.d.ts` en el proyecto.
Intenté escribir mi propio archivo `.d.ts` para una función simple:
```typescript
// utils.d.ts
declare function greet(name: string): string;
```
Pero cuando intenté usar esta función en mi código, TypeScript dijo que la función no existe. ¿Qué estoy haciendo mal?
Expliquen, por favor:
1. ¿Qué son los archivos `.d.ts` en términos simples?
2. ¿En qué casos es necesario crearlos manualmente?
3. ¿Cómo se importan y usan correctamente las declaraciones de tipos de estos archivos?
¡Gracias de antemano!