import { ActiveDescendantKeyManager, LiveAnnouncer } from "@angular/cdk/a11y";
import { ElementRef, OnDestroy, QueryList } from "@angular/core";
import { Subject, Subscription } from "rxjs";
import { MenuItemBaseComponent } from "../menu/menu-item/menu-item/menu-item-base";
import { PopupComponent } from "../popup-adapter/popup-adapter.component";
import { MenuGroupComponent } from "./menu-item/menu-group/menu-group.component";
import { MenuPopupComponent } from "./menu-popup/menu-popup.component";
import * as i0 from "@angular/core";
export declare class MenuKeyControlService implements OnDestroy {
    private live;
    popup: PopupComponent;
    menuGroups: QueryList<MenuGroupComponent>;
    menuItems: QueryList<MenuItemBaseComponent>;
    menuToggle: ElementRef;
    menuPopup: MenuPopupComponent;
    menuOpenListener: Subject<void>;
    keyControlItemsSource: boolean;
    keyboardEventsManager: ActiveDescendantKeyManager<MenuItemBaseComponent>;
    menuOpenListenerSubscription: Subscription;
    private keyboardEventsSubscription;
    private _scrollContainer;
    set scrollContainer(container: ElementRef);
    get scrollContainer(): ElementRef<any>;
    constructor(live: LiveAnnouncer);
    initKeyboardManager(): void;
    handleKeydown(event: KeyboardEvent): void;
    setActiveItem(index: number): void;
    getActiveItemIndex(): number | null;
    private initKeyManagerHandlers;
    private shouldCloseOnEnter;
    private hasActiveItem;
    private handleOpenKeyDown;
    private handleClosedKeyDown;
    private shouldBePrevented;
    private countGroupLabelsBeforeOption;
    private getOptionScrollPosition;
    private scrollActiveOptionIntoView;
    private announceCurrentItem;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MenuKeyControlService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MenuKeyControlService>;
}
