О «* .d.ts» в TypeScript

Мне любопытно*.d.ts из-за новичка TypeScript. И мне кто-то сказал, что этот тип файла - это что-то вроде «head file» в C ++, но только для JS. Но я не могу конвертировать чистый файл JS в*.d.ts файл, если я не изменю принудительно*.js в*.ts, Итак, у меня есть три файла: файл JS, файл TS и*.d.ts файл.

Какая связь между ними?

Как я могу использовать*.d.ts файл? Значит ли это, что я могу удалить*.ts файл постоянно?

Если да, то как*.d.ts файл знает, какой файл JS отображается на себя?

Большое спасибо! Было бы очень хорошо, если бы кто-то мог привести мне пример.