/** * @license * Copyright 2023 Nuraly, Laabidi Aymen * SPDX-License-Identifier: MIT */ import { LitElement } from 'lit'; import { IMenu, MenuSize, IconPosition } from './menu.types.js'; declare const NrMenuElement_base: (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & (new (...args: any[]) => import("packages/common/src/shared/base-mixin.js").LightDomContent) & typeof LitElement; /** * Versatile menu component for hierarchical navigation with support for nested submenus. * * @example * ```html * * * ``` * * @fires change - Menu item selected * @fires action-click - Menu action clicked * @fires label-edit - Menu item label edited (detail: { path, oldValue, newValue }) * * @slot - Menu items (auto-generated from items property) */ export declare class NrMenuElement extends NrMenuElement_base { static useShadowDom: boolean; static styles: import("lit").CSSResult[]; requiredComponents: string[]; /** Menu items configuration */ items: IMenu[]; /** Menu size variant (small, medium, large) */ size: MenuSize | string; /** Default arrow icon position for submenus (left or right) */ arrowPosition: IconPosition | string; /** Callback for label edit events (alternative to event listener) */ onLabelEdit?: (detail: { path: number[]; oldValue: string; newValue: string; }) => void; /** Track context menu state */ private _contextMenuState; /** Track which menu item is currently being edited (path as string for comparison) */ private _editingPath; /** Temporary value while editing */ private _editingValue; /** Pending click timeout for double-click detection */ private _pendingClickTimeout; /** Path of pending click */ private _pendingClickPath; private stateController; private keyboardController; private accessibilityController; private _linkIndex; constructor(); firstUpdated(): void; updated(changedProperties: Map): void; private _initializeOpenedState; private _openSubMenusFromItems; private _initializeSelectedState; private _findSelectedPath; private _handleLinkClick; private _executeClick; private _handleSubMenuClick; private _executeSubMenuClick; private _toggleSubMenu; private _handleSubMenuMouseEnter; private _handleSubMenuMouseLeave; private _handleActionClick; private _handleContextMenu; private _handleContextMenuAction; private _handleContextMenuClose; private _handleDoubleClick; private _handleEditInput; private _handleEditKeyDown; private _handleEditBlur; private _saveEdit; private _cancelEdit; private _isEditing; private _isPathSelected; private _convertActionsToDropdownItems; private _renderMenuLink; private _renderSubMenu; private _renderMenuItems; private _renderContextMenu; render(): import("lit-html").TemplateResult<1>; } export {}; //# sourceMappingURL=menu.component.d.ts.map