import { ChangeDetectorRef, ComponentFactoryResolver, ComponentRef, ElementRef, EventEmitter, Injector, OnDestroy, OnInit, TemplateRef, ViewContainerRef, SimpleChanges, OnChanges, Renderer2 } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { Observable } from 'rxjs';
import { PositionService } from '@duoduo-oba/ng-devui/position';
import { AutoCompletePopupComponent } from './auto-complete-popup.component';
export declare class AutoCompleteDirective implements OnInit, OnDestroy, OnChanges, ControlValueAccessor {
    private elementRef;
    private viewContainerRef;
    private componentFactoryResolver;
    private renderer;
    private injector;
    private positionService;
    private changeDetectorRef;
    autocomplete: string;
    autocapitalize: string;
    autocorrect: string;
    disabled: boolean;
    cssClass: string;
    delay: number;
    minLength: number;
    itemTemplate: TemplateRef<any>;
    noResultItemTemplate: TemplateRef<any>;
    formatter: (item: any) => string;
    sceneType: string;
    tipsText: string;
    overview: string;
    latestSource: any[];
    source: any[];
    valueParser: (item: any) => any;
    searchFn: (term: string, target?: AutoCompleteDirective) => Observable<any[]>;
    dropdown: boolean;
    maxHeight: number;
    disabledKey: string;
    /**
     *  【可选】启用数据懒加载，默认不启用
     */
    enableLazyLoad: boolean;
    loadMore: EventEmitter<any>;
    selectValue: EventEmitter<any>;
    transInputFocusEmit: EventEmitter<any>;
    KEYBOARD_EVENT_NOT_REFRESH: string[];
    popupRef: ComponentRef<AutoCompletePopupComponent>;
    popTipsText: string;
    position: any;
    focus: boolean;
    private valueChanges;
    private value;
    private placement;
    private subscription;
    private onChange;
    private onTouched;
    constructor(elementRef: ElementRef, viewContainerRef: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, renderer: Renderer2, injector: Injector, positionService: PositionService, changeDetectorRef: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    restLatestSource(): void;
    onSourceChange(source: any): void;
    private showLatestSource;
    private showSource;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    ngOnDestroy(): void;
    onFocus($event: any): void;
    onBlur($event: any): void;
    onEscKeyup($event: any): void;
    onEnterKeyDown($event: any): void;
    onArrowUpKeyDown($event: any): void;
    onArrowDownKeyDown($event: any): void;
    onDocumentClick($event: Event): void;
    private hidePopup;
    private fillPopup;
    private writeInputValue;
    private clearInputValue;
    private unSubscription;
    onTermChange(term: any): void;
    private registerInputEvent;
}
