import { FoundationElement } from '@ni/fast-foundation'; /** * A Menu Custom HTML Element. * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#menu | ARIA menu }. * * @slot - The default slot for the menu items * * @public */ export declare class Menu extends FoundationElement { private static readonly focusableElementRoles; /** * @internal */ items: HTMLSlotElement; /** * @internal */ itemIcons?: Element[]; private menuItems; private expandedItem; /** * The index of the focusable element in the items array * defaults to -1 */ private focusIndex; /** * @internal */ connectedCallback(): void; /** * @internal */ disconnectedCallback(): void; /** * @internal */ readonly isNestedMenu: () => boolean; /** * Focuses the first item in the menu. * * @public */ focus(): void; /** * Collapses any expanded menu items. * * @public */ collapseExpandedItem(): void; /** * @internal */ handleMenuKeyDown(e: KeyboardEvent): boolean; /** * if focus is moving out of the menu, reset to a stable initial state * @internal */ handleFocusOut: (e: FocusEvent) => void; private readonly handleItemFocus; private readonly handleExpandedChanged; private readonly removeItemListeners; private itemsChanged; private itemIconsChanged; private readonly setItems; /** * handle change from child element */ private readonly changeHandler; /** * get an array of valid DOM children */ private domChildren; /** * check if the item is a menu item */ private readonly isMenuItemElement; /** * check if the item is focusable */ private readonly isFocusableElement; private setFocus; }