The ability to hide multiple classes behind one interface should be fairly compatible with the existing implementation. The same would/should go for abstract classes.
Would have to consider how to deal with type conversions / typechecks to convert an interface to the concrete class if that is also exported to TypeScript.