TypeScript is strongly typed language where is JS is not. Hence any object/var that we declare has to be of some specific data type. When we define classes in TypeScript we by default tend to define data types. But you want to build some library using javascript but should be able to use with TypeScript we need definition file that includes type definitions for all the variables. Now why we need this ? We already have many libraries like JQuery, HighCharts etc that are build with JavaScript. And when we include this in our project cannot get recognized by the TypeScript compiler. We need to enable compiler to be able to recognize what these libraries are and we create definition file known as TSD. It contains type informations about the JavaScript library and enables the TypeScript developer to use the library objects like they where TypeScript objects. We can either write them or use the existing ones using TSD manager. You can get more information here on how to write it : basarat.gitbooks.io/typescript/content/docs/types…