import type { ElementType } from "react"; import type { GroupLabelOptions } from "../group/group-label.tsx"; import type { Props } from "../utils/types.ts"; import type { FormStore } from "./form-store.ts"; declare const TagName = "div"; type TagName = typeof TagName; /** * Returns props to create a `FormGroupLabel` component. This hook must be used * in a component that's wrapped with `FormGroup` so the `aria-labelledby` prop * is properly set on the form group element. * @see https://ariakit.com/components/form * @example * ```jsx * // This component must be wrapped with FormGroup * const props = useFormGroupLabel(); * Label * ``` */ export declare const useFormGroupLabel: import("../utils/types.ts").Hook<"div", FormGroupLabelOptions<"div">>; /** * Renders a label in a form group. This component must be wrapped with the * [`FormGroup`](https://ariakit.com/reference/form-group) or * [`FormRadioGroup`](https://ariakit.com/reference/form-radio-group) components * so the `aria-labelledby` prop is properly set on the form group element. * @see https://ariakit.com/components/form * @example * ```jsx {10} * const form = useFormStore({ * defaultValues: { * username: "", * email: "", * }, * }); * *
* * Account * Username * * Email * * *
* ``` */ export declare const FormGroupLabel: (props: FormGroupLabelProps) => import("react").ReactElement>; export interface FormGroupLabelOptions extends GroupLabelOptions { /** * Object returned by the * [`useFormStore`](https://ariakit.com/reference/use-form-store) hook. If not * provided, the closest [`Form`](https://ariakit.com/reference/form) or * [`FormProvider`](https://ariakit.com/reference/form-provider) components' * context will be used. */ store?: FormStore; } export type FormGroupLabelProps = Props>; export {};