import * as React from 'react'; import { ForwardRefRenderFunction, ReactElement, FunctionComponent } from 'react'; import { AsElementProps } from '../../types/shared.mjs'; import { FactoryPayload, StaticComponents } from './factory.mjs'; import { PolymorphicComponentProps } from './create-polymorphic-factory.mjs'; import '../../types/html-props.mjs'; type PolymorphicFactoryPayload = FactoryPayload & { defaultComponent: any; defaultRef: any; }; type PolymorphicFactory = TPayload; declare function polymorphicFactory(ui: ForwardRefRenderFunction): ((props: PolymorphicComponentProps) => ReactElement) & Omit & Omit, "as" | keyof TPayload["props"]> & { ref?: any; renderRoot?: (props: any) => any; }) | (TPayload["props"] & { as: keyof React.JSX.IntrinsicElements | React.JSXElementConstructor; renderRoot?: (props: Record) => any; })>, never> & StaticComponents; export { polymorphicFactory }; export type { PolymorphicFactory, PolymorphicFactoryPayload };