import { PolymorphicComponentProps } from './create-polymorphic-component'; import { ComponentClasses, ComponentVariablesResolver, FactoryPayload, StaticComponents, ThemeExtend } from './factory'; export interface PolymorphicFactoryPayload extends FactoryPayload { defaultComponent: any; defaultRef: any; } export type PolymorphicComponentWithProps = { withProps: (fixedProps: PolymorphicComponentProps) => (props: PolymorphicComponentProps) => React.ReactElement; }; export declare function polymorphicFactory(ui: (props: Payload['props'] & { ref?: React.Ref; }) => React.ReactNode): ((props: PolymorphicComponentProps) => React.ReactElement) & Omit & { ref?: any; renderRoot?: (props: any) => any; }) | (Payload["props"] & { component: React.ElementType; renderRoot?: (props: Record) => any; })>, never> & ThemeExtend & ComponentClasses & ComponentVariablesResolver & PolymorphicComponentWithProps & StaticComponents; export type MantinePolymorphicComponent = ((props: PolymorphicComponentProps) => React.ReactElement) & Omit>, never> & ThemeExtend & ComponentClasses & ComponentVariablesResolver & PolymorphicComponentWithProps & StaticComponents;