import { ElementType, ReactNode } from "react"; export interface FieldContextType { id?: string; inputId?: string; labelId?: string; messageId?: string; required?: boolean; disabled?: boolean; fluid?: boolean; validationState?: "valid" | "invalid"; hasLabel?: boolean; hasMessage?: boolean; labelClassName?: string; inputClassName?: string; messageClassName?: string; isGroup?: boolean; } export declare const FieldContext: import("react").Context; export declare function useFieldContext(): [FieldContextType, boolean]; export interface ClearFieldContextProps { children?: ReactNode; } export declare function ClearFieldContext({ children }: ClearFieldContextProps): JSX.Element; export interface UseFieldLabelProps { as?: ElementType; } export interface UseFieldLabelPropsReturn { id?: string; required?: boolean; htmlFor?: string; className?: string; as?: ElementType; } export declare function useFieldLabelProps({ as: asProp }: UseFieldLabelProps): [UseFieldLabelPropsReturn, boolean]; export interface UseFieldInputPropsReturn { validationState?: "valid" | "invalid"; id?: string; required?: boolean; disabled?: boolean; fluid?: boolean; className?: string; "aria-labelledby"?: string; "aria-describedby"?: string; } export declare function useFieldInputProps(): [UseFieldInputPropsReturn, boolean]; export interface UseFieldMessagePropsReturn { id?: string; fluid?: boolean; validationState?: "valid" | "invalid"; className?: string; "aria-live"?: "polite"; } export declare function useFieldMessageProps(): [UseFieldMessagePropsReturn, boolean];