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;
}
