import { EventEmitter, OnInit, OnDestroy, AfterViewInit, ChangeDetectorRef, ElementRef } from '@angular/core';
import { NgForm, NgModel } from '@angular/forms';
import { Observable } from 'rxjs';
import { UtilityService } from '../../services/utility/utility.service';
import { MatChipInputEvent, MatChipList } from '@angular/material/chips';
import { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';
import { TranslateService } from '../../services/translate/translate.service';
export declare class ChipControlComponent implements OnInit, OnDestroy, AfterViewInit {
    private ref;
    private utilityService;
    private translateService;
    private initialized;
    private pModel;
    private pItems;
    name: string;
    separatorKeysCodes: number[];
    selectable: boolean;
    removable: boolean;
    form: NgForm;
    label: string;
    valueField: string;
    displayField: string;
    displayChipField: string;
    private _items;
    get items(): any[];
    set items(items: any[]);
    limit: number;
    selectedItems: any[];
    filteredItems: Observable<any[]>;
    ipt: any;
    private _model;
    set model(values: (string | number)[]);
    modelChange: EventEmitter<any>;
    disabled: boolean;
    _minItem: number;
    set minItem(minItem: number);
    change: EventEmitter<any>;
    sdChange: EventEmitter<any>;
    chipSelected: EventEmitter<any>;
    formModel: NgModel;
    input: ElementRef<HTMLInputElement>;
    matAutocomplete: MatAutocomplete;
    chipList: MatChipList;
    autocompleteTrigger: MatAutocompleteTrigger;
    constructor(ref: ChangeDetectorRef, utilityService: UtilityService, translateService: TranslateService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private onChanges;
    filter(value: string): {
        [key: string]: string;
    }[];
    add(event: MatChipInputEvent): void;
    remove(item: any): void;
    select(item: any): void;
    selected(event: MatAutocompleteSelectedEvent): void;
    displayFn: (value: string | {
        [key: string]: string;
    }) => string;
    private updateModel;
    validateMinItem: () => string;
    clear: ($event?: any) => void;
}
