type ExtendedProps = OverrideProps & Omit; type ElementType = keyof React.JSX.IntrinsicElements | React.JSXElementConstructor; type PropsOf = React.JSX.LibraryManagedAttributes>; type ComponentProp = { component?: C; }; type InheritedProps = ExtendedProps, Props>; export type PolymorphicRef = C extends React.ElementType ? React.ComponentProps['ref'] : never; export type PolymorphicComponentProps = C extends React.ElementType ? InheritedProps> & { ref?: PolymorphicRef; renderRoot?: (props: any) => any; } : Props & { component: React.ElementType; renderRoot?: (props: Record) => any; }; export declare function createPolymorphicComponent>(component: any): ((props: PolymorphicComponentProps) => React.ReactElement) & Omit & Omit & { ref?: any; renderRoot?: (props: any) => any; }) | (Props & { component: React.ElementType; renderRoot?: (props: Record) => any; })>, never> & StaticComponents; export declare const polymorphic: typeof createPolymorphicComponent; export {};