import { ControllerProps, FieldPath, FieldValues } from 'react-hook-form';
import * as React from 'react';
/**
* Hook to access form field context
*
* Provides access to field name for nested components like FormLabel, FormMessage, etc.
*
* @example
* ```tsx
* function CustomInput() {
* const { name } = useFormField();
* return ;
* }
* ```
*/
export declare function 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;
};
/**
* FormField component props
*/
export type FormFieldProps = FieldPath> = ControllerProps;
/**
* FormField component - Wrapper for form inputs with React Hook Form integration
*
* Uses React Hook Form's Controller component to manage field state.
* Provides context for child components (FormLabel, FormMessage, etc.).
*
* @example
* ```tsx
* (
*
* Email
*
*
*
* Enter your email address
*
*
* )}
* />
* ```
*/
export declare function FormField = FieldPath>({ ...props }: FormFieldProps): import("react/jsx-runtime").JSX.Element;
/**
* FormItem component props
*/
export type FormItemProps = React.HTMLAttributes;
/**
* FormItem component - Container for form field components
*
* Provides spacing and layout for form fields.
* Generates unique IDs for accessibility attributes.
*
* @example
* ```tsx
*
* Username
*
*
*
*
*
* ```
*/
export declare function FormItem({ ref, className, ...props }: FormItemProps & {
ref?: React.Ref;
}): import("react/jsx-runtime").JSX.Element;
/**
* FormControl component props
*/
export type FormControlProps = React.HTMLAttributes;
/**
* FormControl component - Wrapper for form input elements
*
* Connects input elements with form field state and accessibility attributes.
*
* @example
* ```tsx
*
*
*
* ```
*/
export declare function FormControl({ ref, ...props }: FormControlProps & {
ref?: React.Ref;
}): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=FormField.d.ts.map