import { default as React } from 'react';
import { Slot } from '@radix-ui/react-slot';
import { ControllerProps, FieldPath, FieldValues, FormProvider } from 'react-hook-form';
type FormFieldContextValue<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
    name: TName;
};
/**
 * Carries the form-level disabled state so FieldControl can inject
 * `disabled` onto inputs without prop-drilling.
 * Default is `{ disabled: false }` — safe when FieldControl is used outside a Form.
 */
type FormStateContextValue = {
    /** True when the Form is explicitly disabled or in a loading state */
    disabled: boolean;
};
declare const FormStateContext: React.Context<FormStateContextValue>;
declare const FormFieldContext: React.Context<FormFieldContextValue<FieldValues, string>>;
declare const FormField: {
    <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
type FormItemContextValue = {
    id: string;
};
declare const FormItemContext: React.Context<FormItemContextValue>;
declare const FormItem: React.FC<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
declare const FormControl: React.FC<React.ComponentPropsWithRef<typeof Slot>>;
export { FormProvider, FormFieldContext, FormItemContext, FormItem, FormControl, FormField, FormStateContext };
