Appearance
type GetComponentInstance<T> = T extends (...args: any[]) => infer I ? I : T extends (...args: any[]) => I ? I : never;
Helper to get component instance type from constructor or component definition.
T