Sobre "* .d.ts" no TypeScript

Estou me sentindo curioso sobre*.d.ts por causa de um novato do TypeScript. E alguém me disse que esse tipo de arquivo é algo como "arquivo principal" em C ++, mas apenas para JS. Mas não consigo converter um arquivo JS puro em*.d.ts arquivo, a menos que eu mude à força*.js para*.ts. Então, eu tenho três arquivos: um arquivo JS, um arquivo TS e um*.d.ts Arquivo.

Qual é a relação entre eles?

Como posso usar o*.d.ts Arquivo? Isso significa que eu posso excluir o*.ts arquivo permanentemente?

Se sim, como pode o*.d.ts arquivo sabe qual arquivo JS está mapeando para si mesmo?

Muito Obrigado! Seria muito bom se alguém pudesse me dar um exemplo.

questionAnswers(4)

yourAnswerToTheQuestion