import type { ElementType, FC } from "react"; import type { Options, Props } from "../utils/types.ts"; declare const TagName = "div"; type TagName = typeof TagName; declare const elements: readonly ["a", "button", "details", "dialog", "div", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "img", "input", "label", "li", "nav", "ol", "p", "section", "select", "span", "summary", "textarea", "ul", "svg"]; type RoleElements = { [K in (typeof elements)[number]]: FC>; }; /** * Returns props to create a `Role` component. * @see https://ariakit.com/components/role * @example * ```jsx * const props = useRole(); * * ``` */ export declare const useRole: import("../utils/types.ts").Hook<"div", RoleOptions<"div">>; /** * Renders an abstract element that supports the `render` prop and a * `wrapElement` prop that can be used to wrap the underlying element with React * Portal, Context or other component types. * @see https://ariakit.com/components/role * @example * ```jsx * } /> * ``` */ export declare const Role: FC & RoleElements; export interface RoleOptions<_T extends ElementType = TagName> extends Options { } export type RoleProps = Props>; export {};