import { CSSResultGroup, LitElement } from "lit";
import { SelectionManager, selectionManager } from "@m3e/core/a11y";
import { M3eNavMenuItemElement } from "./NavMenuItemElement";
declare const M3eNavMenuElement_base: import("node_modules/@m3e/core/dist/src/shared/mixins/Constructor").Constructor & typeof LitElement;
/**
* A hierarchical menu, typically used on larger devices, that allows a user to switch between views.
*
* @description
* The `m3e-nav-menu` component provides a hierarchical, accessible navigation menu supporting
* nested expandable items, keyboard navigation, and focus management. It is highly customizable
* via slots and CSS custom properties, and is designed for use in sidebars, navigation drawers,
* and complex menu structures.
*
* @example
* The following example illustrates a navigation menu with a top-level group of menu items.
* ```html
*
*
* Mail
*
*
* Inbox
* 24
*
*
*
* Outbox
*
*
*
* Favorites
*
*
*
* Trash
*
*
*
* ```
*
* @example
* The next example illustrates a multilevel navigation menu.
* ```html
*
*
*
* Getting Started
*
*
* Overview
*
*
*
* Installation
*
*
*
* Actions
* Button
* Icon
* Icon Button
*
*
* ```
*
* @tag m3e-nav-menu
*
* @slot - Renders the items of the menu.
*
* @cssprop --m3e-nav-menu-padding-top - Top padding for the menu.
* @cssprop --m3e-nav-menu-padding-bottom - Bottom padding for the menu.
* @cssprop --m3e-nav-menu-padding-left - Left padding for the menu.
* @cssprop --m3e-nav-menu-padding-right - Right padding for the menu.
* @cssprop --m3e-nav-menu-divider-margin - Margin for divider elements in the menu.
* @cssprop --m3e-nav-menu-scrollbar-width - Width of the menu scrollbar.
* @cssprop --m3e-nav-menu-scrollbar-color - Color of the menu scrollbar.
*/
export declare class M3eNavMenuElement extends M3eNavMenuElement_base {
#private;
/** The styles of the element. */
static styles: CSSResultGroup;
/** @private */ private static __nextId;
/** @private */
readonly [selectionManager]: SelectionManager;
constructor();
/** The selected item of the menu. */
get selected(): M3eNavMenuItemElement | null;
/** All the items of the menu. */
get items(): readonly M3eNavMenuItemElement[];
/**
* Expands the specified items, or all items if no items are provided.
* @param {M3eNavMenuItemElement | undefined} items The items to expand.
*/
expand(items?: M3eNavMenuItemElement[]): void;
/**
* Collapses the specified items, or all items if no items are provided.
* @param {M3eNavMenuItemElement | undefined} items The items to collapse.
*/
collapse(items?: M3eNavMenuItemElement[]): void;
/** @inheritdoc */
connectedCallback(): void;
/** @inheritdoc */
disconnectedCallback(): void;
/** @inheritdoc */
protected render(): unknown;
}
declare global {
interface HTMLElementTagNameMap {
"m3e-nav-menu": M3eNavMenuElement;
}
}
export {};
//# sourceMappingURL=NavMenuElement.d.ts.map