import { QueryList, AfterContentInit, OnDestroy, EventEmitter, IterableDiffers, OnInit } from '@angular/core';
import { EclMenuItemComponent } from './ecl-menu-item.component';
import { EclMenuItemSelectEvent } from '../common/ecl-menu-item.event';
import { BreakpointObserver } from '@angular/cdk/layout';
import { ECLBaseDirective } from '../../ecl-base.directive';
import * as i0 from "@angular/core";
export declare class EclMenuComponent extends ECLBaseDirective implements OnInit, AfterContentInit, OnDestroy {
    private differs;
    private cdkBreakpointObserver;
    group: string;
    eclRootMenuItems: QueryList<EclMenuItemComponent>;
    menuItemSelect: EventEmitter<EclMenuItemSelectEvent>;
    get cssClasses(): any;
    isHamburgerMenuOpened: boolean;
    isMobileBreakpoint: boolean;
    isMenuHidden: boolean;
    private destroy$;
    private differ;
    private diff;
    private readonly hammertime;
    constructor(differs: IterableDiffers, cdkBreakpointObserver: BreakpointObserver);
    keyEvent(event: KeyboardEvent): void;
    ngOnInit(): void;
    ngAfterContentInit(): void;
    onSwipeLeft(evt: any): void;
    onSwipeRight(evt: any): void;
    onOverlayClick(evt: MouseEvent): void;
    onMenuOpenClick(evt: MouseEvent): void;
    onMenuCloseClick(evt: MouseEvent): void;
    onMenuBackClick(evt: MouseEvent): void;
    onClickOutsideMenu(evt: any): void;
    ngOnDestroy(): void;
    get isMenuExpandedInMobile(): boolean;
    private isAnyRootMenuItemExpanded;
    private createRootMenuItemsChangesObservable;
    private onMenuItemChanges;
    private connectMenuItemEvents;
    private onRootMenuItemFocused;
    private onRootMenuItemSelected;
    private onRootMenuItemHovered;
    private onRootMenuItemHoveredOut;
    private onMenuMegaItemSelected;
    private deselectAllRootMenuItems;
    private deselectAllSubmenusItems;
    private deselectMenuItems;
    private selectMenuItem;
    private hideMenu;
    private showMenu;
    private closeRootMenu;
    private closeRootMenuButOneItem;
    private removeHoverFromAllItems;
    private toggleExpandedForMenuItem;
    private openHamburgerMenu;
    private closeHamburgerMenu;
    private sendMenuItemSelectEvent;
    /**
     * When in mobile mode, tapping on parent item should not follow href,
     * but rather open submenu only. When submenu is opened, then parent can
     * be tapped and href is followed
     *
     * EUI-4694
     */
    private preventFollowingHrefInMobileMode;
    private observeRootMenuItemsChanges;
    private observeSwipeGestures;
    private observeBreakpointChanges;
    static ɵfac: i0.ɵɵFactoryDeclaration<EclMenuComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EclMenuComponent, "ecl-menu", never, { "group": "group"; }, { "menuItemSelect": "menuItemSelect"; }, ["eclRootMenuItems"], ["*"]>;
}
//# sourceMappingURL=ecl-menu.component.d.ts.map