That code will still work in TypeScript, but you will lose access to instance variables, behaviors and effects unique to the object classes, as those come from the type definitions on the class in the InstanceType
namespace.
It's still possible to have it work though - essentially this comes down to multiple inheritance (e.g. you want PlayerInstance to derive from both InstanceType.Player and Entity), and if you look up mixins you should find a couple of ways to approach that. Where possible I'd recommend composition over inheritence though - i.e. make an Entity a property of the class rather than a base class.