import { type EventEmitter } from '../../stencil-public-runtime'; import type { MenuChangeDetail, MenuItemSelectDetail, MenuSelectDetail, MenuType } from './mud-menu.types'; /** * Menu — a floating panel of choosable options, composed of `mud-menu-item` children. * * Two flavours via `type`: * - `selection` — single-select list (ARIA `listbox`), selected item shows a trailing checkmark. * - `contextual` — action menu (ARIA `menu`), items may carry a leading checkbox/radio/icon. * * The panel is the visual + interaction primitive (keyboard roving, selection, scroll). * Anchoring/positioning relative to a trigger is the consumer's responsibility; bind `open` * and listen for `mudClose` (Escape / `closeOnSelect`) to drive popover behaviour. * * @element mud-menu * @slot - The `mud-menu-item` elements. * @part panel - The scrollable panel surface. */ export declare class MudMenu { /** Menu semantics: `selection` (single-select list) or `contextual` (actions). */ type: MenuType; /** Whether the panel is shown. Set `false` to hide it when used as a popover. */ open: boolean; /** Currently selected value (selection menus). */ value?: string; /** Accessible name for the menu. */ ariaLabel?: string; /** Emit `mudClose` immediately after an item is selected. */ closeOnSelect: boolean; host: HTMLMudMenuElement; /** Fired when any item is activated. */ mudSelect: EventEmitter; /** Fired when the selected value changes (selection menus only). */ mudChange: EventEmitter; /** Fired when the menu requests to close (Escape key, or `closeOnSelect`). */ mudClose: EventEmitter; handleReflectedChange(): void; handleItemSelect(ev: CustomEvent): void; handleKeyDown(ev: KeyboardEvent): void; componentDidLoad(): void; private handleSlotChange; private queryItems; private enabledItems; private propagateToItems; private resetRovingTabindex; private focusedItem; private focusItem; render(): any; }