import { ConnectedPosition } from '@angular/cdk/overlay';
import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { AutoCompleteDirective } from 'ng-devui/auto-complete';
import { I18nInterface, I18nService } from 'ng-devui/i18n';
import { AppendToBodyDirection, DevConfigService } from 'ng-devui/utils';
import { Observable, Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class EditableSelectComponent implements ControlValueAccessor, OnInit, OnChanges, OnDestroy {
    private cdr;
    private i18n;
    private devConfigService;
    appendToBody: boolean;
    appendToBodyDirections: Array<AppendToBodyDirection | ConnectedPosition>;
    disabled: boolean;
    placeholder: string;
    source: any[];
    itemTemplate: TemplateRef<any>;
    noResultItemTemplate: TemplateRef<any>;
    maxHeight: number;
    width: number;
    disabledKey: string;
    allowClear: boolean;
    enableLazyLoad: boolean;
    formatter: (item: any) => any;
    valueParser: (item: any) => any;
    searchFn: (term: string) => Observable<any[]>;
    showAnimation: boolean;
    loadMore: EventEmitter<any>;
    toggleChange: EventEmitter<any>;
    autoCompleteDirective: AutoCompleteDirective;
    editableSelectBox: ElementRef;
    multiItems: any[];
    inputValue: any;
    activeIndex: number;
    i18nCommonText: I18nInterface['common'];
    i18nSubscription: Subscription;
    subscription: Subscription;
    set dropDownOpen(val: boolean);
    get dropDownOpen(): boolean;
    private _dropDownOpen;
    private onChange;
    private onTouched;
    onDocumentClick(event: Event): void;
    constructor(cdr: ChangeDetectorRef, i18n: I18nService, devConfigService: DevConfigService);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    selectValue(): void;
    valueClear(event: Event): void;
    onTermChange(value: any): void;
    toggle(): void;
    loadMoreEvent(event: any): void;
    toggleChangeHandler(value: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EditableSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EditableSelectComponent, "d-editable-select", ["editable-select"], { "appendToBody": "appendToBody"; "appendToBodyDirections": "appendToBodyDirections"; "disabled": "disabled"; "placeholder": "placeholder"; "source": "source"; "itemTemplate": "itemTemplate"; "noResultItemTemplate": "noResultItemTemplate"; "maxHeight": "maxHeight"; "width": "width"; "disabledKey": "disabledKey"; "allowClear": "allowClear"; "enableLazyLoad": "enableLazyLoad"; "formatter": "formatter"; "valueParser": "valueParser"; "searchFn": "searchFn"; "showAnimation": "showAnimation"; }, { "loadMore": "loadMore"; "toggleChange": "toggleChange"; }, never, never, false>;
}
