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