import { ElementType, ReactNode } from "react"; export interface FieldContextType { disabled?: boolean; fluid?: boolean; hasLabel?: boolean; hasMessage?: boolean; id?: string; inputClassName?: string; inputId?: string; isGroup?: boolean; labelClassName?: string; labelId?: string; messageClassName?: string; messageId?: string; required?: boolean; validationState?: "valid" | "invalid"; } 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 { as?: ElementType; className?: string; htmlFor?: string; id?: string; required?: boolean; } export declare function useFieldLabelProps({ as: asProp }: UseFieldLabelProps): [UseFieldLabelPropsReturn, boolean]; export interface UseFieldInputPropsReturn { "aria-describedby"?: string; "aria-labelledby"?: string; className?: string; disabled?: boolean; fluid?: boolean; id?: string; required?: boolean; validationState?: "valid" | "invalid"; } export declare function useFieldInputProps(): [UseFieldInputPropsReturn, boolean]; export interface UseFieldMessagePropsReturn { "aria-live"?: "polite"; className?: string; fluid?: boolean; id?: string; validationState?: "valid" | "invalid"; } export declare function useFieldMessageProps(): [UseFieldMessagePropsReturn, boolean];