TypeScript xxxx.d.ts というファイルについて

xxxx.d.ts というファイルは型定義ファイルです。

このファイルには型のみが記載されており、実装は書かれていません。

tsc はこのファイルの中をみて、どのような関数や変数が使われるのかを知ることができます。

あなたがJavaScriptのライブラリを作ったとします。

このライブラリは他の人のアプリケーションにinstallすることで利用できます。

しかし、もしそのアプリケーションがTypeScriptを使っていた場合、あなたが作成したのはJavaScriptのライブラリであるため型が定義されていないため、すべて暗黙のanyになります。

TypeScriptの型つけるためのものが型定義ファイルです。

あなたのライブラリにTypeScriptのソースを追加するのもひとつの方法ではありますが、JavaScriptのソースとTypeScriptのソースが入ることになり、サイズが増えてしまいます。

また、TypeScriptからJavaScriptへコンパイルする必要があるので、結局無駄なコンパイルが増えます。

ということで、JavaScript用のライブラリにはxxxx.d.tsを作成し、TypeScriptの型を定義してあげましょう。