import * as React from 'react';
import type { useMenuRoot } from './useMenuRoot.js';
import type { OpenChangeReason } from '../../utils/translateOpenChangeReason.js';
export interface MenuRootContext extends useMenuRoot.ReturnValue {
    disabled: boolean;
    nested: boolean;
    parentContext: MenuRootContext | undefined;
    typingRef: React.RefObject<boolean>;
    modal: boolean;
    openReason: OpenChangeReason | null;
    onOpenChangeComplete: ((open: boolean) => void) | undefined;
    setHoverEnabled: React.Dispatch<React.SetStateAction<boolean>>;
}
export declare const MenuRootContext: React.Context<MenuRootContext | undefined>;
declare function useMenuRootContext(optional?: false): MenuRootContext;
declare function useMenuRootContext(optional: true): MenuRootContext | undefined;
export { useMenuRootContext };
