What actually needs to be done is the creation of a .d.ts file. This file (or files) declares the shape of the module. This includes any functions or interfaces that might be needed used when using the class.
This can be an insanely benign process, however the http://definitelytyped.org/ guys have us covered. They collate tons of definitions files. Not only for common libraries people use like the entire node ecosystem, but also for small libraries like the cli-color library which lets you add color to your console output.
There are issues with some of the definitions files however. As an example, when using the Q library and calling
resolve on a Deferral it isn’t required to pass a value. When using the definitions file this can cause a problem, however it’s a small enough problem that it’s easy enough to get around.
In the end, I would suggest using their library of definitions files. It may cause a couple of issues, but those issues pale in comparison to writing the files yourself.