import { EventEmitter, Renderer2, ElementRef, OnDestroy } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { PopupComponent } from './popup.component';
import { DataQuery } from '@true-directive/base';
export declare abstract class DropdownBaseComponent implements ControlValueAccessor, OnDestroy {
    protected _elementRef: ElementRef;
    protected _renderer: Renderer2;
    popup: PopupComponent;
    input: any;
    disableTextEditor: boolean;
    disabled: boolean;
    popupPosition: 'RELATIVE' | 'ABSOLUTE' | 'MODAL';
    blur: EventEmitter<any>;
    keydown: EventEmitter<any>;
    protected onChange: (_: any) => void;
    protected onTouched: () => void;
    registerOnChange(fn: (_: any) => void): void;
    registerOnTouched(fn: () => void): void;
    protected _validBlur: boolean;
    protected _useAltDown: boolean;
    displayValue: string;
    useAltDown: boolean;
    protected shownByKey: boolean;
    fetchData(dataQuery: DataQuery, data: Array<any>): void;
    inputBlur(e: FocusEvent): void;
    inputClick(e: any): void;
    inputTouch(e: any): void;
    protected _value: any;
    value: any;
    writeValue(value: any): void;
    readonly popupVisible: boolean;
    protected focusPopup(): void;
    protected processKey(e: any): boolean;
    protected showByTarget(): void;
    protected closePopup(): void;
    /**
     * Ввод данных пользователем.
     * @param  e Событие от input
     */
    inputInput(e?: any): void;
    inputKeyDown(e: any): void;
    focus(): void;
    _skipFocusOnPopupClose: boolean;
    popupClose(e: any): void;
    inputFocus(e: any): void;
    btnClick(e: any): void;
    setValueFromDisplayed(): void;
    ngOnDestroy(): void;
    constructor(_elementRef: ElementRef, _renderer: Renderer2);
}
