import { OnInit, EventEmitter, AfterViewInit, OnDestroy, ElementRef } from '@angular/core';
import { UntypedFormControl } from '@angular/forms';
import { MatAutocompleteSelectedEvent, MatAutocompleteActivatedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';
import { Observable, Subject } from 'rxjs';
import { MatFormFieldAppearance } from '@angular/material/form-field';
import { ITextMask, OptionsAsyncParams } from '../../../@interfaces/eagna.interface';
import * as i0 from "@angular/core";
export declare class AutocompleteComponent implements OnInit, AfterViewInit, OnDestroy {
    inputType: string;
    appearance?: MatFormFieldAppearance;
    displayKey?: string;
    valueKey?: string;
    dispNoResults: boolean;
    placeholder?: string;
    options?: any[];
    searchTriggerLength?: Number;
    displayFn?: (result: any) => string | undefined;
    frmControl?: UntypedFormControl;
    label?: string;
    textTooltip?: string;
    labelTooltip?: string;
    emptyLabel?: string;
    autoActiveFirstOption: boolean;
    enterKeyFn?: EventEmitter<any>;
    trigger: MatAutocompleteTrigger;
    requireSelection: boolean;
    dontDisplaySearch: boolean;
    optionsAsyncParams: OptionsAsyncParams;
    reduceOptionByQuery: boolean;
    debounceTime: number;
    emitWhenEmpty: boolean;
    eraseParent: boolean;
    minlength: number;
    dontForceMinLength: boolean;
    maxlength: number;
    displayMaxLength: boolean;
    dontForceMaxLength: boolean;
    hintLabel: string;
    codeMask: ITextMask;
    dontFocus: boolean;
    classes: string | string[];
    isSearching: boolean;
    optionsSubj: Subject<any[]>;
    options$: Observable<any[]>;
    private _origOptions;
    private _currentSelection;
    private _subscription;
    private _subscription2;
    input: ElementRef;
    constructor();
    optionActivated(sel: MatAutocompleteActivatedEvent): void;
    optionSelected(sel: MatAutocompleteSelectedEvent): void;
    ngOnInit(): void;
    isMinLength(value: any): boolean;
    defaultDisplayFn(result: any): string | undefined;
    private _emptyParentObject;
    onClear(event?: any): void;
    onEnterKey(event?: any): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private _subscribeToClosingActions;
    getErrorMessage(): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "eagna-autocomplete", never, { "inputType": "inputType"; "appearance": "appearance"; "displayKey": "displayKey"; "valueKey": "valueKey"; "dispNoResults": "dispNoResults"; "placeholder": "placeholder"; "options": "options"; "searchTriggerLength": "searchTriggerLength"; "displayFn": "displayFn"; "frmControl": "frmControl"; "label": "label"; "textTooltip": "textTooltip"; "labelTooltip": "labelTooltip"; "emptyLabel": "emptyLabel"; "autoActiveFirstOption": "autoActiveFirstOption"; "requireSelection": "requireSelection"; "dontDisplaySearch": "dontDisplaySearch"; "optionsAsyncParams": "optionsAsyncParams"; "reduceOptionByQuery": "reduceOptionByQuery"; "debounceTime": "debounceTime"; "emitWhenEmpty": "emitWhenEmpty"; "eraseParent": "eraseParent"; "minlength": "minlength"; "dontForceMinLength": "dontForceMinLength"; "maxlength": "maxlength"; "displayMaxLength": "displayMaxLength"; "dontForceMaxLength": "dontForceMaxLength"; "hintLabel": "hintLabel"; "codeMask": "codeMask"; "dontFocus": "dontFocus"; "classes": "classes"; }, { "enterKeyFn": "enterKeyFn"; }, never, never, false>;
}
