import React from "react";
import type { ReactElement } from "react";
import type { ComposableMenuContentProps, ComposableMenuGroupLabelProps, ComposableMenuGroupProps, ComposableMenuItemIconProps, ComposableMenuItemLabelProps, ComposableMenuItemPrefixProps, ComposableMenuItemProps, ComposableMenuItemSuffixProps, ComposableMenuRadioGroupProps, ComposableMenuRadioItemProps, ComposableMenuSeparatorProps, ComposableMenuSubmenuContentProps, ComposableMenuSubmenuProps, ComposableMenuSubmenuTriggerProps, ComposableMenuTriggerProps } from "./menuComposableTypes";
import type { MenuHeaderComposableProps, MenuHeaderLabelComposableProps, MenuProps, MenuSectionComposableProps } from "./Menu.types";
export interface MenuComponent {
    (props: MenuProps): ReactElement;
    Group: typeof MenuGroup;
    GroupLabel: typeof MenuGroupLabel;
    /**
     * @deprecated Use Menu.Group instead.
     */
    Section: typeof MenuSection;
    /**
     * @deprecated Use Menu.GroupLabel instead.
     */
    Header: typeof MenuHeader;
    /**
     * @deprecated Use Menu.GroupLabel content directly instead.
     */
    HeaderLabel: typeof MenuHeaderLabel;
    Item: typeof MenuItem;
    Trigger: typeof MenuTrigger;
    Content: typeof MenuContent;
    Separator: typeof MenuSeparator;
    RadioGroup: typeof MenuRadioGroup;
    RadioItem: typeof MenuRadioItem;
    Submenu: typeof MenuSubmenu;
    SubmenuTrigger: typeof MenuSubmenuTrigger;
    SubmenuContent: typeof MenuSubmenuContent;
    ItemIcon: typeof MenuItemIcon;
    ItemLabel: typeof MenuItemLabel;
    ItemPrefix: typeof MenuItemPrefix;
    ItemSuffix: typeof MenuItemSuffix;
}
declare const MenuTrigger: React.ForwardRefExoticComponent<ComposableMenuTriggerProps & React.RefAttributes<HTMLDivElement>>;
declare function MenuContent(props: ComposableMenuContentProps): React.JSX.Element;
declare function MenuSeparator(props: ComposableMenuSeparatorProps): React.JSX.Element;
declare function MenuRadioGroup(props: ComposableMenuRadioGroupProps): React.JSX.Element;
declare const MenuRadioItem: React.ForwardRefExoticComponent<ComposableMenuRadioItemProps & React.RefAttributes<HTMLElement>>;
declare function MenuSubmenu(props: ComposableMenuSubmenuProps): React.JSX.Element;
declare const MenuSubmenuTrigger: React.ForwardRefExoticComponent<ComposableMenuSubmenuTriggerProps & React.RefAttributes<HTMLElement>>;
declare function MenuSubmenuContent(props: ComposableMenuSubmenuContentProps): React.JSX.Element;
declare function MenuGroup(props: ComposableMenuGroupProps): React.JSX.Element;
/**
 * @deprecated Use Menu.Group instead.
 * This wrapper keeps the old composable authoring shape working while the
 * underlying menu structure uses grouped semantics.
 */
declare function MenuSection(props: MenuSectionComposableProps): React.JSX.Element;
declare const MenuItem: React.ForwardRefExoticComponent<ComposableMenuItemProps & React.RefAttributes<HTMLElement>>;
declare function MenuItemIcon(props: ComposableMenuItemIconProps): React.JSX.Element;
declare function MenuItemLabel(props: ComposableMenuItemLabelProps): React.JSX.Element;
declare function MenuItemPrefix(props: ComposableMenuItemPrefixProps): React.JSX.Element;
declare function MenuItemSuffix(props: ComposableMenuItemSuffixProps): React.JSX.Element;
declare function MenuGroupLabel(props: ComposableMenuGroupLabelProps): React.JSX.Element;
/**
 * @deprecated Use Menu.GroupLabel instead.
 * Header remains as a thin wrapper so older JSX can keep compiling without
 * recreating the old internal DOM structure.
 */
declare function MenuHeader(props: MenuHeaderComposableProps): React.JSX.Element;
/**
 * @deprecated Use Menu.GroupLabel content directly instead.
 * HeaderLabel is intentionally a pass-through so the old nested pattern:
 * Menu.Header > Menu.HeaderLabel continues to compose onto the new GroupLabel.
 */
declare function MenuHeaderLabel(props: MenuHeaderLabelComposableProps): React.JSX.Element;
export declare const Menu: MenuComponent;
export {};
