import { ConnectedPosition } from '@angular/cdk/overlay';
import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { AutoCompleteDirective } from 'ng-devui/auto-complete';
import { AppendToBodyDirection, DevConfigService } from 'ng-devui/utils';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare class MultiAutoCompleteComponent implements OnInit, OnChanges, ControlValueAccessor {
    private changeDetectorRef;
    private devConfigService;
    static ID_SEED: number;
    appendToBody: boolean;
    appendToBodyDirections: Array<AppendToBodyDirection | ConnectedPosition>;
    /**
     * @deprecated
     */
    cssClass: string;
    /**
     * @deprecated
     * overview: border none multiline single
     */
    overview: string;
    tipsText: string;
    placeholder: string;
    disabled: boolean;
    retainInputValue: boolean;
    source: any[];
    latestSource: any[];
    disabledKey: string;
    width: number;
    itemTemplate: TemplateRef<any>;
    noResultItemTemplate: TemplateRef<any>;
    delay: number;
    searchFn: (term: string) => Observable<any[]>;
    formatter: (item: any) => string;
    valueParser: (item: any) => any;
    showAnimation: boolean;
    showGlowStyle: boolean;
    get hasGlowStyle(): boolean;
    autoSubmit: EventEmitter<any>;
    multiAutoCompleteInputElement: ElementRef;
    multiAutoCompleteWrapperElement: ElementRef;
    autoCompleteDirective: AutoCompleteDirective;
    multiItems: any[];
    inputValue: any;
    multipleLabelClassNameSuffix: string;
    inputEdit: boolean;
    multipleLabelClassNameConfig: any;
    id: number;
    clonePlaceholder: string;
    get placeholderView(): string;
    private popupRef;
    private value;
    private placement;
    private onChange;
    private onTouched;
    constructor(changeDetectorRef: ChangeDetectorRef, devConfigService: DevConfigService);
    writeValue(obj: any): void;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    singleClick($event: any): void;
    onMultipleSearch(item?: any): void;
    removeLabel(label: any): void;
    getInputFocusFlag($event: any): void;
    clearInputValue(): void;
    onBackspaceKeyUp($event: any, inputValue: any): void;
    setSinglePlaceholder(): void;
    changePopUp(open: any): void;
    inputBlur(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MultiAutoCompleteComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MultiAutoCompleteComponent, "d-multi-auto-complete", never, { "appendToBody": { "alias": "appendToBody"; "required": false; }; "appendToBodyDirections": { "alias": "appendToBodyDirections"; "required": false; }; "cssClass": { "alias": "cssClass"; "required": false; }; "overview": { "alias": "overview"; "required": false; }; "tipsText": { "alias": "tipsText"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "retainInputValue": { "alias": "retainInputValue"; "required": false; }; "source": { "alias": "source"; "required": false; }; "latestSource": { "alias": "latestSource"; "required": false; }; "disabledKey": { "alias": "disabledKey"; "required": false; }; "width": { "alias": "width"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "noResultItemTemplate": { "alias": "noResultItemTemplate"; "required": false; }; "delay": { "alias": "delay"; "required": false; }; "searchFn": { "alias": "searchFn"; "required": false; }; "formatter": { "alias": "formatter"; "required": false; }; "valueParser": { "alias": "valueParser"; "required": false; }; "showAnimation": { "alias": "showAnimation"; "required": false; }; "showGlowStyle": { "alias": "showGlowStyle"; "required": false; }; }, { "autoSubmit": "autoSubmit"; }, never, never, false, never>;
}
