import React__default from 'react'; type ExtendedProps = OverrideProps & Omit; type ElementType = keyof JSX.IntrinsicElements | React__default.JSXElementConstructor; type PropsOf = JSX.LibraryManagedAttributes>; type ComponentProp = { component?: C; }; type InheritedProps = ExtendedProps, Props>; type PolymorphicRef = C extends React__default.ElementType ? React__default.ComponentPropsWithRef['ref'] : never; type PolymorphicComponentProps = C extends React__default.ElementType ? InheritedProps> & { ref?: PolymorphicRef; renderRoot?: (props: any) => any; } : Props & { component: React__default.ElementType; renderRoot?: (props: Record) => any; }; declare function createPolymorphicComponent>(component: any): ((props: PolymorphicComponentProps) => React__default.ReactElement) & Omit & Omit, "component" | keyof Props> & { ref?: any; renderRoot?: ((props: any) => any) | undefined; }) | (Props & { component: React__default.ElementType; renderRoot?: ((props: Record) => any) | undefined; })>, never> & StaticComponents; export { type PolymorphicComponentProps, type PolymorphicRef, createPolymorphicComponent };