import { EventEmitter, AfterContentInit, OnChanges, Renderer2, ElementRef, OnDestroy } from "@angular/core";
import { FormControl } from "@angular/forms";
import { RxHttp } from "@rxweb/http";
export declare class SelectModel {
    key: string;
    value: string;
    active: boolean;
    constructor(key: string, value: string, active: boolean);
}
export declare class RxSelectComponent extends RxHttp implements AfterContentInit, OnDestroy, OnChanges {
    elementRef: ElementRef;
    renderer: Renderer2;
    selectSearch: any;
    private propagateChange;
    element: Element;
    private currentValue;
    openDrop: string;
    activeTag: string;
    userSource: Array<any>;
    dropSource: Array<SelectModel>;
    private mainSource;
    private timeOutId;
    private validTimeOutId;
    private inputDisabled;
    private currentFormControl;
    isInValid: boolean;
    dropIndex: number;
    isSpinner: boolean;
    selectActive: boolean;
    blur: EventEmitter<any>;
    changed: EventEmitter<any>;
    mainClass: string;
    maxLength: number;
    selectedTag: SelectModel;
    selectPlaceholder: string;
    showSelectItem: boolean;
    controlTabIndex: number;
    selectConfiguration: {
        [key: string]: any;
    };
    selectId: number;
    constructor(elementRef: ElementRef, renderer: Renderer2);
    source: Array<any>;
    valueInQueryParams: boolean;
    selectDisabled: boolean;
    keyValueProps: Array<string>;
    focus: boolean;
    path: string;
    params: string[];
    queryParams: {
        [key: string]: any;
    };
    autoComplete: boolean;
    minimumCharacterSearchLength: number;
    enableFreeText: boolean;
    formControl: FormControl;
    text: string;
    controlText: string;
    isObjectChanged: boolean;
    ngAfterContentInit(): void;
    setValue(isBlur?: boolean, columnName?: string): boolean;
    ngOnChanges(source: any): void;
    private checkValid;
    private setMainSource;
    private setDropSource;
    private getTagModelSource;
    resetSource(source: any): void;
    showItems(tags: string, clearExisting: boolean): void;
    clear(event?: any): void;
    private registerOnChange;
    private registerOnTouched;
    private writeValue;
    caretClick(event: any): void;
    onFocus(event: any): boolean;
    showItemBox(): void;
    onBlur(event: any, value: string): void;
    onKeyup(event: KeyboardEvent, scroller: HTMLElement): void;
    onKeydown(event: KeyboardEvent, scroller: HTMLElement): void;
    private setActiveTabClass;
    private changeScroll;
    onChange(targetElement: HTMLSelectElement): void;
    enter(targetElement: any): void;
    onClick(tag: SelectModel, tagSearchElement: HTMLInputElement): void;
    getSourceItem(tag: SelectModel): any;
    selectTag(tag: SelectModel): void;
    private updateFormValue;
    onMouseover(tag?: SelectModel, i?: number): void;
    private clearValue;
    private clearActiveTabClass;
    private subscribeFormControl;
    validate(formControl: FormControl): any;
    ngOnDestroy(): void;
}
export declare class RxSelectModule {
}
