import { EventEmitter, OnInit, OnDestroy, AfterViewInit, ChangeDetectorRef } from '@angular/core';
import { NgModel } from '@angular/forms';
import { Observable, Subscription } from 'rxjs';
import { UtilityService } from '../../../../services/utility/utility.service';
import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
export declare class GridAutocompleteControl implements OnInit, AfterViewInit, OnDestroy {
    private ref;
    private utilityService;
    private initialized;
    private pModel;
    private pItems;
    private flag;
    name: string;
    private cItems;
    private limit;
    loading: boolean;
    valueField: string;
    displayField: string;
    set items(items: any[] | Observable<any[]>);
    filteredItems: Observable<any[]>;
    cModel: any;
    set model(value: any);
    modelChange: EventEmitter<any>;
    sdChange: EventEmitter<any>;
    search: EventEmitter<any>;
    required: boolean;
    disabled: boolean;
    formModel: NgModel;
    autocompleteTrigger: MatAutocompleteTrigger;
    subcription: Subscription;
    visibility: boolean;
    constructor(ref: ChangeDetectorRef, utilityService: UtilityService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private onChanges;
    private reload;
    onChange(value: any): void;
    filter: (value: string) => {
        [key: string]: string;
    }[];
    displayFn: (value: string | {
        [key: string]: string;
    }) => string;
    clear: ($event?: any) => void;
}
