import { DropdownDirective } from '@alauda/ui';
import { ChangeDetectorRef, ElementRef, QueryList } from '@angular/core';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
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);
    handleMenuVisible(visible: boolean): Promise<void>;
    private getInputEl;
    private readonly onKeyDown;
    private closeDropdown;
    private focusMenuItem;
    private resetFocusedItem;
    private scrollToOption;
    abstract selectByIndex(index: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseSelection, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<BaseSelection, never, never, {}, {}, never, never, false, never>;
}
