import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { MenuNavigationItemDirective } from './menu-navigation-item.directive';
import { MenuNavigationToggleDirective } from './menu-navigation-toggle.directive';
import * as i0 from "@angular/core";
export declare class MenuNavigationDirective implements OnInit, OnDestroy {
    private readonly _menuNavigationService;
    /** Define the menu toggle button */
    toggleButton: MenuNavigationToggleDirective;
    /** Define the position of the toggle button relative to the menu */
    toggleButtonPosition: 'top' | 'right' | 'bottom' | 'left';
    /** Emit when the menu is no longer focused */
    navigatedOut: EventEmitter<KeyboardEvent>;
    /** Get the index of the currently active item */
    get activeIndex(): number;
    get menuItems(): ReadonlyArray<MenuNavigationItemDirective>;
    /** Determine if the menu currently has focus */
    private _isFocused;
    /** Unsubscribe from all observables on destroy */
    private readonly _onDestroy;
    ngOnInit(): void;
    ngOnDestroy(): void;
    focusFirst(): void;
    onFocusIn(): void;
    onFocusOut(): void;
    keydownHandler(event: KeyboardEvent): void;
    private moveNext;
    private movePrevious;
    private moveFirst;
    private moveLast;
    private moveToToggleButton;
    static ɵfac: i0.ɵɵFactoryDeclaration<MenuNavigationDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<MenuNavigationDirective, "[uxMenuNavigation]", ["uxMenuNavigation"], { "toggleButton": { "alias": "toggleButton"; "required": false; }; "toggleButtonPosition": { "alias": "toggleButtonPosition"; "required": false; }; }, { "navigatedOut": "navigatedOut"; }, never, never, false, never>;
}
