import * as React from 'react'; /** * Naming for `role="group"` containers in menu families (Group, RadioGroup). * `role="group"` needs `aria-labelledby` pointing at the Label; registration ensures the id exists. */ /** @internal What a `role="group"` hands to the Label inside it. */ export interface MenuGroupContextValue { /** Id the Label takes, and the group points `aria-labelledby` at. */ labelId: string; /** Called by the Label on mount/unmount, so the group knows whether the id resolves. */ setHasLabel: (hasLabel: boolean) => void; } declare const MenuGroupProvider: React.FC; export { MenuGroupProvider }; /** * @internal State a `Group`/`RadioGroup` needs to be named by its Label: * `labelId` is the value for `aria-labelledby`, and is `undefined` until a * Label is actually mounted; `context` goes straight into a * {@link MenuGroupProvider}. */ export declare function useMenuGroupLabel(): { labelId: string | undefined; context: MenuGroupContextValue; }; /** * @internal The id a `Label` must render, so the group around it can name * itself after it — `undefined` when the Label is not inside one. */ export declare function useMenuLabelId(): string | undefined;