export declare type GetProps = TBase extends new (props: infer P) => any ? P : never; export declare type GetInstance = TBase extends new (...args: any[]) => infer I ? I : never; export declare type MergeCtor = new (props?: GetProps & GetProps) => GetInstance & GetInstance;