export type ExtractComponentProps = TComponent extends new () => { $props: infer P; } ? P : never;