import type { ForwardedRef, ReactElement, ReactNode } from 'react'; import type { StoreDefs } from '~/defs'; import type { BaseProps } from './types'; export declare function createComponent, ToOmit> : BaseProps>(render: (props: FinalProps & { ref: ForwardedRef; }) => ReactElement | null): import("react").ForwardRefExoticComponent & import("react").RefAttributes> & ObjProps; export declare function useCreateStyledElement(type: any, style: any, styleProps: any, props: any, children?: ReactNode): import("react/jsx-runtime").JSX.Element; export type CreateComponent; element: unknown; namespace?: Record | undefined; omit?: string | undefined; styles?: string | undefined; }> = { type: Item['type']; component: Item['component']; props: Item['props']; element: Item['element']; namespace: Item['namespace'] extends Record ? Item['namespace'] : null; omit: Item['omit'] extends string ? Item['omit'] : null; styles: Item['styles'] extends string ? Item['styles'] : null; }; type GetProps> = Def['omit'] extends string ? Omit, Def['omit']> : BaseProps; type RenderFn> = (props: GetProps & { ref: ForwardedRef; }) => ReactElement> | null; export declare function _unstable_createComponent, Component extends keyof StoreDefs = Def['component']>(component: Component, render: RenderFn): Def["namespace"] extends Record ? import("react").ForwardRefExoticComponent> & import("react").RefAttributes> & Def["namespace"] : import("react").ForwardRefExoticComponent> & import("react").RefAttributes>; export declare function _unstable_createEl>(el: E, props: P, children?: ReactNode): ReactElement>; type ExtendedProps = OverrideProps & Omit; type ElementType = keyof JSX.IntrinsicElements | React.JSXElementConstructor; type PropsOf = JSX.LibraryManagedAttributes>; type ComponentProp = { as?: C; }; type InheritedProps = ExtendedProps, Props>; export type PolymorphicRef = C extends React.ElementType ? React.ComponentPropsWithRef['ref'] : never; export type PolymorphicComponentProps = C extends React.ElementType ? InheritedProps> & { ref?: PolymorphicRef; } : Props & { as: React.ElementType; }; export declare function createPolymorphicComponent>(component: ReturnType>): Def["namespace"] extends Record ? ((props: PolymorphicComponentProps, "as">>) => ReactElement, "as">, string | import("react").JSXElementConstructor>) & Omit, "as">>, never> & (Def["namespace"] extends Record ? import("react").ForwardRefExoticComponent> & import("react").RefAttributes> & Def["namespace"] : import("react").ForwardRefExoticComponent> & import("react").RefAttributes>) & Def["namespace"] : ((props: PolymorphicComponentProps, "as">>) => ReactElement, "as">, string | import("react").JSXElementConstructor>) & Omit, "as">>, never> & (Def["namespace"] extends Record ? import("react").ForwardRefExoticComponent> & import("react").RefAttributes> & Def["namespace"] : import("react").ForwardRefExoticComponent> & import("react").RefAttributes>); export {};