Librerías y TypeScript
Librerías con integración en TypeScript
Aunque una librería esté escrita en JavaScript, se puede adaptar a TypeScript utilizando archivos de definición de tipos (extensión .d.ts). Estos lo que hacen es tipar las funciones, clases, constantes, etc. que exporta la librería.
Definitely Typed
Hay librerías que no integran archivos de definición de tipos, pero se pueden instalar por separado. Para saber si es el caso, en los repositorios de NPM, te indica mediante un icono, que la librería dispone de tipos proporcionados por el repositorio DefinitelyTyped. Haciendo click en el icono, nos lleva al paquete que debemos instalar adicionalmente.
Librerías anticuadas
Por último, si no existen tipos para una librería, y además esta no utiliza módulos (export), sino que crea funciones o variables globales por ejemplo. Debemos indicar a TypeScript que la función, variable, clase, etc. que queremos usar existe (y de paso tiparla) con la instrucción declare.
No debemos implementar nada, solo declarar los nombres de las variables y el encabezado de las funciones (con tipos).