import { ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { Observable } from 'rxjs';
export declare class TagsInputComponent implements OnInit, OnDestroy, OnChanges {
    /**
    * 【必选】记录输入的标签
    */
    tags: any[];
    /**
     * 【可选】使用的属性名
     */
    displayProperty: string;
    /**
     * 【可选】输入的placeholder
     */
    placeholder: string;
    /**
     * 【可选】输入标签的最小长度
     */
    minLength: number;
    /**
     * 【可选】输入标签的最大长度
     */
    maxLength: number;
    /**
     * 【可选】标签的最小个数
     */
    minTags: number;
    /**
     * 【可选】标签的最大个数
     */
    maxTags: number;
    /**
     * 【可选】输入框的spellcheck
     */
    spellcheck: boolean;
    /**
     * 【可选】下拉选项
     */
    suggestionList: any;
    /**
     * 是否按空格添加tag
     */
    isAddBySpace: boolean;
    /**
     * 大小写敏感
     */
    caseSensitivity: boolean;
    checkBeforeAdd: (newTag: string) => boolean | Promise<boolean> | Observable<boolean>;
    /**
   * 输出函数，当选中某个选项项后，将会调用此函数，参数为当前选择项的值。如果需要获取所有选择状态的值，请参考(ngModelChange)方法
   */
    valueChange: EventEmitter<any>;
    tagInputElement: ElementRef;
    selectBoxElement: ElementRef;
    newTag: string;
    showSuggestionList: boolean;
    availableOptions: any[];
    newTagValid: boolean;
    isReduce: boolean;
    searchFn: (term: string) => Observable<Array<{
        id: string | number;
        option: any;
    }>>;
    private sourceSubscription;
    private KEYS;
    selectIndex: number;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    registerFilterChange(): void;
    reduceSuggestionList(): void;
    host_click(): void;
    input_keydown(event: any): void;
    select(index: any): void;
    input_focus(event: any): void;
    input_blur(event: any): void;
    addSuggestionByIndex(index: any, value: any): void;
    removeTag(index: any): void;
    tagIsValid(): boolean;
    isEmptyString(tag: any): boolean;
    addTag(): void;
    canAdd(): Promise<boolean>;
    onDocumentClick($event: Event): void;
    ngOnDestroy(): void;
}
