import * as React from 'react'; import * as LabelPrimitive from '@radix-ui/react-label'; import { Slot } from '@radix-ui/react-slot'; import { type ControllerProps, type FieldPath, type FieldValues } from 'react-hook-form'; /** * Root form provider and field controller layer for React Hook Form. * * @description * Wraps `react-hook-form` instances and provides the form context to all * child primitives (`FormField`, `FormControl`, `FormMessage`). Handles * field validation state, ARIA attributes, and error messaging automatically. * * @ai-rules * 1. Always initialize with `const form = useForm({ resolver: zodResolver(schema) })` before rendering. * 2. Do NOT create stateful inputs with `useState` if they are already inside a `
`. * 3. Structure: ` > > > + + `. */ declare const Form: (props: import("react-hook-form").FormProviderProps) => React.JSX.Element; declare const FormField: = FieldPath>({ ...props }: ControllerProps) => import("react/jsx-runtime").JSX.Element; declare const useFormField: () => { invalid: boolean; isDirty: boolean; isTouched: boolean; isValidating: boolean; error?: import("react-hook-form").FieldError; id: string; name: string; formItemId: string; formDescriptionId: string; formMessageId: string; }; declare function FormItem({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element; declare function FormLabel({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; declare function FormControl({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; declare function FormDescription({ className, ...props }: React.ComponentProps<'p'>): import("react/jsx-runtime").JSX.Element; declare function FormMessage({ className, ...props }: React.ComponentProps<'p'>): import("react/jsx-runtime").JSX.Element | null; export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, };