import { EventEmitter, AfterContentInit, OnChanges, Renderer2, ElementRef, OnDestroy } from "@angular/core";
import { FormControl } from "@angular/forms";
import { TagModel } from './tag-model';
export declare class RxTagComponent implements AfterContentInit, OnDestroy, OnChanges {
    elementRef: ElementRef;
    renderer: Renderer2;
    viewChild: any;
    private propagateChange;
    element: Element;
    private currentValue;
    openDrop: string;
    activeTag: string;
    userSource: Array<any>;
    selectedTags: Array<TagModel>;
    dropSource: Array<TagModel>;
    private inActiveSource;
    private mainSource;
    private dropIndex;
    private timeOutId;
    private validTimeOutId;
    private inputDisabled;
    maxSelectionMessage: string;
    private splitCharacter;
    isLimitExceeded: boolean;
    private currentFormControl;
    isInValid: boolean;
    isCalledFromWriteValue: boolean;
    isSpinner: boolean;
    isServerCalled: boolean;
    removed: EventEmitter<TagModel>;
    added: EventEmitter<TagModel>;
    mainClass: string;
    freeTextEnabled: boolean;
    lookup: string[];
    controlTabIndex: number;
    formControl: FormControl;
    params: string[];
    queryParams: {
        [key: string]: any;
    };
    placeholder: string;
    constructor(elementRef: ElementRef, renderer: Renderer2);
    source: Array<any>;
    tagDisabled: boolean;
    maxSelection: string;
    keyValueProps: Array<string>;
    focus: boolean;
    itemTexts: any;
    ngAfterContentInit(): void;
    ngOnChanges(source: any): void;
    private checkValid;
    private setMainSource;
    private getTagModelSource;
    private setSelectedTags;
    private setDropSource;
    applyFocus(tagSearch: any): void;
    reset(): void;
    changeTagSource(source: Array<any>): void;
    showTag(tags: string, clearExisting: boolean): void;
    clear(): void;
    selectAll(): void;
    private getTagString;
    private registerOnChange;
    private registerOnTouched;
    private writeValue;
    removeTag(tag: TagModel): void;
    onFocus(event: any): void;
    onBlur(event: any): void;
    onKeyup(event: KeyboardEvent, scroller: HTMLElement): void;
    onKeydown(event: KeyboardEvent, scroller: HTMLElement): void;
    private limitExceded;
    private setActiveTabClass;
    private changeScroll;
    enter(targetElement: any): void;
    onClick(tag: TagModel, tagSearchElement: HTMLElement): void;
    selectTag(tag: TagModel): void;
    private updateFormValue;
    onMouseover(tag: TagModel): void;
    private clearValue;
    private clearActiveTabClass;
    private subscribeFormControl;
    validate(formControl: FormControl): any;
    ngOnDestroy(): void;
}
export declare class RxTagModule {
}
