The problem with TypeScript is its requirement for definition files which are most of the time outdated. That makes it unusable in a real project where many JS libs live together. (not saying that's the case all the time)
It is completely doable to simply let the external libs call to be dynamic and guard your core code with static typing.