/**
* @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