import { PropsWithChildren } from 'react';
import { FieldPath, FieldValues } from 'react-hook-form';
interface FormFieldContextValue<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> {
    id: string;
    name: TName;
    isRequired?: boolean;
    isLoading?: boolean;
    isReadOnly?: boolean;
    isDisabled?: boolean;
    hasHelperText?: boolean;
    hasContextualLink?: boolean;
}
export declare const FormFieldContext: import('react').Context<FormFieldContextValue<FieldValues, string>>;
export declare function FormFieldProvider({ children, id, name, isRequired, isLoading, isReadOnly, isDisabled, hasHelperText, hasContextualLink, }: PropsWithChildren<FormFieldContextValue>): import("react/jsx-runtime").JSX.Element;
export declare function useFormField(): {
    fieldState: {
        isRequired: boolean | undefined;
        isLoading: boolean | undefined;
        isReadOnly: boolean | undefined;
        isDisabled: boolean | undefined;
    };
    formState: import('react-hook-form').UseFormStateReturn<FieldValues>;
    id: string;
    name: string;
    hasHelperText: boolean | undefined;
    hasContextualLink: boolean | undefined;
    formLabelId: string;
    formItemId: string;
    formDescriptionId: string | undefined;
    formMessageId: string;
    formContextualLinkId: string | undefined;
};
export {};
