import { AfterViewInit, Injector, OnDestroy, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { BsDropdownDirective } from 'ngx-bootstrap/dropdown';
import { App, UserDefinedExecutionContext } from '@wm/core';
import { DatasetAwareNavComponent } from '@wm/components/base';
import { NavComponent } from './nav/nav.component';
import * as i0 from "@angular/core";
export declare const KEYBOARD_MOVEMENTS: {
    MOVE_UP: string;
    MOVE_LEFT: string;
    MOVE_RIGHT: string;
    MOVE_DOWN: string;
    ON_ENTER: string;
    ON_MOUSE_ENTER: string;
    ON_MOUSE_LEAVE: string;
    ON_TAB: string;
    ON_SHIFT_TAB: string;
    ON_ESCAPE: string;
};
export declare const MENU_POSITION: {
    UP_LEFT: string;
    UP_RIGHT: string;
    DOWN_LEFT: string;
    DOWN_RIGHT: string;
    INLINE: string;
};
export declare class MenuComponent extends DatasetAwareNavComponent implements OnInit, OnDestroy, AfterViewInit {
    route: Router;
    private userDefinedExecutionContext;
    private app;
    bsDropdown: BsDropdownDirective;
    private parentNav;
    selectEventCB: string;
    static initializeProps: void;
    menualign: string;
    menuposition: string;
    menulayout: string;
    menuclass: string;
    linktarget: string;
    iconclass: string;
    animateitems: string;
    disableMenuContext: boolean;
    showonhover: boolean;
    autoclose: string;
    autoopen: string;
    hint: string;
    arialabel: string;
    private itemActionFn;
    private menuCaret;
    private _selectFirstItem;
    type: any;
    _menuposition: string;
    onShow(): void;
    onHide(): void;
    onKeyDown($event: any, eventAction: any): void;
    constructor(inj: Injector, route: Router, userDefinedExecutionContext: UserDefinedExecutionContext, app: App, bsDropdown: BsDropdownDirective, parentNav: NavComponent, selectEventCB: string, explicitContext: any);
    protected resetNodes(): void;
    ngOnInit(): void;
    onPropertyChange(key: string, nv: any, ov?: any): void;
    setMenuPosition(): void;
    onMenuItemSelect(args: any): void;
    ngAfterViewInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, [null, null, null, null, { optional: true; self: true; }, { optional: true; }, { attribute: "select.event"; }, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "[wmMenu]", never, {}, {}, never, never, false, never>;
}
