javascript - Skriva TypeScript-definition


Jag har nyligen skrivit ett stort bibliotek i ECMAScript2015 som jag skulle vilja skriva en typdefinition för, så att det kan användas i TypeScript-projekt.

Låt oss kalla biblioteket 'myShop' för nu, med den grundläggande strukturen som är:

myShop.init(params): // function
myShop.cart.goto(); // function in namespace 'cart'
myShop.info; // variable that contains trivial information

Min fråga är vilka de bästa metoderna skulle vara för att skriva biblioteket. Bara för att få autokomplettering i IntelliJ finns det många sätt som verkar fungera.

Min metod hittills ser ut så här:

declare module myShop {

    function init(param:List<string>): Promise;

    var cart: ICart;

    var info: Object;
}

interface ICart {

    goto(): void;

}

Några tips på förbättring? Är ett gränssnitt för 'kundvagn' korrekt? Bör det snarare vara en modul?

Tack på förhand!