import { EventEmitter, OnInit, OnDestroy, AfterViewInit, ChangeDetectorRef } from '@angular/core';
import { NgForm, NgModel } from '@angular/forms';
import { Observable } from 'rxjs';
import { UtilityService } from '../../services/utility/utility.service';
import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
export declare class AutocompleteControlComponent implements OnInit, OnDestroy, AfterViewInit {
    private ref;
    private utilityService;
    private initialized;
    private pModel;
    private pItems;
    private flag;
    private previous;
    private previousResults;
    private delay;
    private isServerFilter;
    name: string;
    loading: boolean;
    form: NgForm;
    label: string;
    valueField: string;
    displayField: string;
    private cItems;
    set items(items: any[] | ((searchText?: string) => Promise<any[]>));
    limit: number;
    filteredItems: Observable<any[]>;
    cModel: any;
    set model(value: any);
    modelChange: EventEmitter<any>;
    change: EventEmitter<any>;
    sdChange: EventEmitter<any>;
    required: boolean;
    disabled: boolean;
    formModel: NgModel;
    autocompleteTrigger: MatAutocompleteTrigger;
    constructor(ref: ChangeDetectorRef, utilityService: UtilityService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private onChanges;
    private loadItems;
    onChange: (item: any) => void;
    filter: (value: string) => {
        [key: string]: string;
    }[];
    displayFn: (value: string | {
        [key: string]: string;
    }) => string;
    clear: ($event?: any) => void;
    reValidate: () => void;
}
