export declare const FieldLabelIdContextProvider: import("react").Provider<string | undefined>;
export declare const InputIdContextProvider: import("react").Provider<string | undefined>;
export declare const InputDescribedByProvider: import("react").Provider<string | undefined>;
export declare const InputInvalidProvider: import("react").Provider<boolean | undefined>;
interface UseInputAttributesArgs {
    /** Set this to `true` if the underlying element is not directly [labelable as per the HTML specification](https://html.spec.whatwg.org/multipage/forms.html#category-label). */
    nonLabelable?: boolean;
}
export declare function useInputAttributes({ nonLabelable }?: UseInputAttributesArgs): {
    id: string | undefined;
    'aria-labelledby': string | undefined;
    'aria-describedby': string | undefined;
    'aria-invalid': boolean | undefined;
};
export interface WithInputAttributesProps {
    inputAttributes: ReturnType<typeof useInputAttributes>;
}
export declare function withInputAttributes<T extends Partial<WithInputAttributesProps>>(Component: React.ComponentType<T>, args?: UseInputAttributesArgs): {
    (props: Omit<T, keyof WithInputAttributesProps>): import("react").JSX.Element;
    displayName: string;
};
export {};
//# sourceMappingURL=contexts.d.ts.map