import { DropdownDirective } from '@alauda/ui';
import { ChangeDetectorRef, ElementRef, QueryList } from '@angular/core';
import { Subject } from 'rxjs';
export declare abstract class BaseSelection {
    protected cdr: ChangeDetectorRef;
    protected inputContainer: ElementRef<HTMLDivElement>;
    protected menuItems: QueryList<ElementRef>;
    protected menuItemsContainer: ElementRef;
    protected dropdown: DropdownDirective;
    focusedMenuItemIndex: number;
    keyword$$: Subject<string>;
    constructor(cdr: ChangeDetectorRef);
    handleMenuOpen(): Promise<void>;
    handleMenuClose(): void;
    private getInputEl;
    private readonly onKeyDown;
    private closeDropdown;
    private focusMenuItem;
    private resetFocusedItem;
    private scrollToOption;
    abstract selectByIndex(index: number): void;
}
