import * as React from 'react';
import { HTMLProps } from "../utils/types.js";
export interface LabelableContext {
/**
* The `id` of the labelable element.
* When `null` the association is implicit.
*/
controlId: string | null | undefined;
setControlId: React.Dispatch>;
/**
* The `id` of the label.
*/
labelId: string | undefined;
setLabelId: React.Dispatch>;
/**
* An array of `id`s of elements that provide an accessible description.
*/
messageIds: string[];
setMessageIds: React.Dispatch>;
getDescriptionProps: (externalProps: HTMLProps) => HTMLProps;
}
/**
* A context for providing [labelable elements](https://html.spec.whatwg.org/multipage/forms.html#category-label)\
* with an accessible name (label) and description.
*/
export declare const LabelableContext: React.Context;
export declare function useLabelableContext(): LabelableContext;