import { type EventEmitter } from '../../stencil-public-runtime'; import type { MenuItemLeading, MenuItemSelectDetail, MenuType } from './mud-menu.types'; /** * Menu item — a single row inside a `mud-menu`. * * Pattern: the host element is the focusable, role-bearing control. Roving * `tabindex` is managed imperatively by the parent `mud-menu`. The item emits * `mudMenuItemSelect` (bubbling) on activation; the parent coordinates selection. * * @element mud-menu-item * @slot - The item label / content. * @part item - The item row wrapper. */ export declare class MudMenuItem { /** Value reported when the item is activated. */ value?: string; /** Leading element rendered before the label. */ leading: MenuItemLeading; /** Icon name to render when `leading="icon"`. */ icon?: string; /** Whether the item is selected (selection menus) or checked (checkbox/radio leading). */ selected: boolean; /** Whether the item is disabled and non-interactive. */ disabled: boolean; /** Render as a non-interactive section heading (separator + tertiary label). */ heading: boolean; /** Fallback text label when no content is slotted. */ label?: string; /** * Menu type — propagated by the parent `mud-menu`. Controls ARIA role and * whether `selected` renders as a trailing checkmark (selection) vs. a * leading checkbox/radio (contextual). * @internal */ type: MenuType; host: HTMLMudMenuItemElement; /** Fired when the item is activated via click, Enter or Space. */ mudMenuItemSelect: EventEmitter; /** Move keyboard focus to this item. Used by the parent for roving navigation. */ setFocus(): Promise; private handleClick; private handleKeyDown; private isInteractive; private activate; private resolveRole; private renderLeading; render(): any; }