/**
 * Copyright (c) Cisco Systems, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 */
import { LitElement } from "lit";
import { MenuItem } from "./MenuItem";
export declare const MORE_MENU_ITEM_COPY_ID_PREFIX = "more-menu-item-";
export declare namespace Menu {
    const ELEMENT_base: typeof LitElement & import("../../mixins/RovingTabIndexMixin").AnyConstructor<import("../../mixins/RovingTabIndexMixin").RovingTabIndexInterface & import("../../mixins/SlottedMixin").SlotableInterface & import("../../mixins/SlottedMixin").SlotableClass & import("../../mixins/RovingTabIndexMixin").RovingTabIndexClass> & import("../../mixins/SlottedMixin").AnyConstructor<import("../../mixins/SlottedMixin").SlotableClass & import("../../mixins/SlottedMixin").SlotableInterface>;
    export class ELEMENT extends ELEMENT_base {
        justified: boolean;
        direction: string;
        menuSlotElement?: HTMLSlotElement;
        menuSubElement?: HTMLSlotElement;
        private readonly items;
        private itemsHash;
        private itemsIdxHash;
        private getNormalizedItemId;
        static get styles(): import("lit").CSSResult[];
        get slotItem(): HTMLSlotElement | undefined;
        private linkMenuItems;
        private setupMenuItems;
        private getChildrenFromTree;
        private updateSelectedItem;
        private changeSelectedItemIdx;
        handleItemClick(event: CustomEvent<MenuItem.MenuItemEvent>): void;
        handleItemKeydown(event: CustomEvent<MenuItem.MenuItemKeyDownEvent>): void;
        connectedCallback(): void;
        disconnectedCallback(): void;
        private onSlotChange;
        get menuClassMap(): {
            [x: string]: string | boolean;
            justified: boolean;
        };
        render(): import("lit-html").TemplateResult<1>;
    }
    export {};
}
declare global {
    interface HTMLElementTagNameMap {
        "md-menu": Menu.ELEMENT;
    }
}
