import { PropertyValues, TemplateResult } from 'lit';
import UiListItem from '../../list/internals/ListItem.js';
import UiSubMenu from './SubMenu.js';
import '../../icons/ui-icon.js';
/**
 * Material Design 3 Menu Item component.
 *
 * @slot - The menu item content (label, icon, etc.)
 * @fires select - Dispatched when the menu item is selected
 * @fires submenu-open - Dispatched when a sub-menu is opened
 */
export default class UiMenuItem extends UiListItem {
    /**
     * The ID of the associated submenu
     * @attribute
     */
    accessor submenu: string | undefined;
    /**
     * Whether this menu item is selected
     * @attribute
     */
    accessor selected: boolean;
    /**
     * The value associated with this menu item. Use it to identify value associated with the menu item,
     * when selected.
     * @attribute
     */
    accessor value: string | undefined;
    /**
     * Whether to automatically show a check icon when selected
     * @attribute
     */
    accessor showSelectionIcon: boolean;
    /**
     * Whether the menu item has a sub-menu
     */
    get hasSubMenu(): boolean;
    /**
     * Reference to the sub-menu element
     */
    get subMenuElement(): UiSubMenu | null;
    /**
     * Whether the sub-menu is open
     */
    protected accessor subMenuOpen: boolean;
    constructor();
    connectedCallback(): void;
    protected updated(changedProperties: PropertyValues<this>): void;
    /**
     * Sets up the connection between this menu item and its submenu
     */
    protected setupSubmenuConnection(): void;
    /**
     * Updates accessibility attributes
     */
    protected updateAccessibility(): void;
    /**
     * Updates the selection state styling
     */
    protected updateSelectionState(): void;
    /**
     * Handles mouse enter events
     */
    protected handleMouseEnter(): void;
    /**
     * Handles mouse leave events
     */
    protected handleMouseLeave(): void;
    /**
     * Handles click events
     */
    handleClick(e: MouseEvent): void;
    /**
     * Handles menu item click events
     */
    protected handleMenuItemClick(e: MouseEvent): void;
    /**
     * Opens the sub-menu
     */
    openSubMenu(): void;
    /**
     * Closes the sub-menu
     */
    closeSubMenu(): void;
    /**
     * Toggles the sub-menu
     */
    toggleSubMenu(): void;
    /**
     * Handles sub-menu item selection
     */
    protected handleSubMenuSelect(e: CustomEvent): void;
    render(): TemplateResult;
    protected renderEnd(): TemplateResult;
    protected renderStart(): TemplateResult;
}
//# sourceMappingURL=MenuItem.d.ts.map