import { EventEmitter, Renderer2, ElementRef } from '@angular/core';
import { DropdownBaseComponent } from './dropdown-base.component';
import { GridState } from '@true-directive/base';
import { Column, DataQuery } from '@true-directive/base';
import { GridComponent } from '../grid.component';
export declare class SelectorComponent extends DropdownBaseComponent {
    protected _elementRef: ElementRef;
    protected _renderer: Renderer2;
    /**
     * Current text value
     */
    displayValue: string;
    /**
     * Current value
     */
    value: any;
    dataQuery: EventEmitter<any>;
    private _focusedValue;
    private _valueField;
    valueField: string;
    private _displayField;
    displayField: string;
    columns: Array<Column>;
    items: Array<any>;
    parentState: GridState;
    private _settings;
    settings: any;
    grid: GridComponent;
    _onGrid: boolean;
    _empty: boolean;
    gridStartProcess(e: any): void;
    _updating: boolean;
    gridEndProcess(e: any): void;
    gridDataQuery(e: any): void;
    writeValue(v: any): void;
    setValue(value: any, displayValue: string): void;
    empty(): boolean;
    updating(): boolean;
    fetchData(dataQuery: DataQuery, data: Array<any>): void;
    gridWidth(): string;
    /**
     * Перекрываем показывание выпадающего окна, чтобы обновить вью грида
     * и выделить строку, содержащую текущее значение
     * @param  e Параметры события
     */
    popupShow(e: any): void;
    /**
     * Обработчик клавиш вызывается из родительского класса
     * Возвращает false, если клавиша не обработана
     */
    processKey(e: any): boolean;
    gridRowClick(e: any): void;
    iconClass(): string;
    inputInput(e?: any): void;
    private getSelectedRow;
    private containsDisplayed;
    private setValueFromGrid;
    /**
     * Установка значения по введенному тексту
     */
    setValueFromDisplayed(): void;
    /**
     * Потеря фокуса инпутом
     * @param  e Параметры события
     */
    inputBlur(e: FocusEvent): void;
    constructor(_elementRef: ElementRef, _renderer: Renderer2);
}
