GenericClazz: new (...args: any[]) => T | Function

As mentioned above for Clazz<T>, there is no good way to represent abstract class so we will use Function in this case, this is a very loose check and will lose some benefit of type checking during compile time, so refrain from using it extensively

Type Parameters

  • T