Not evil, but not the most common or expected way to modularise thing in js/ts, so your colleagues may have to think for a moment before they get used to your code. It's valid solution, though.
I think you should do what's comfortable to you, but also try to adapt to the common language in each of the code ases you will be working on, so that everyone is on the same page.
Typescript is useful, jsdoc type casting is useful, modules are useful.
Good luck in your journey!