import { ElementType, ReactElement } from "react"; import { Component, HTMLProps, Hook, Options, Props } from "./types"; /** * Creates a type-safe component with the `as` prop and `React.forwardRef`. * * @example * import { createComponent } from "ariakit-react-utils/system"; * * type Props = { * as?: "div"; * customProp?: boolean; * }; * * const Component = createComponent(({ customProp, ...props }) => { * return
; * }); * * */ export declare function createComponent(render: (props: Props) => ReactElement): Component; /** * Creates a React element that supports the `as` prop, children as a * function (render props) and a `wrapElement` function. * * @example * import { createElement } from "ariakit-react-utils/system"; * * function Component() { * const props = { * as: "button" as const, * children: (htmlProps) =>