import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnInit } from '@angular/core';
import { AutoCompleteCompleteEvent } from 'primeng/autocomplete';
import { BehaviorSubject } from 'rxjs';
import { Store } from '@ngxs/store';
import { SmzSmartAutocompleteTagOption } from '../../directives/smart-autocomplete-tag.directive';
import * as i0 from "@angular/core";
export declare class SmzAutocompleteSelectorComponent implements OnInit, AfterViewInit {
    el: ElementRef;
    store: Store;
    cdr: ChangeDetectorRef;
    isRequired: boolean;
    allowCustomValues: boolean;
    option: SmzSmartAutocompleteTagOption;
    selectedChange: EventEmitter<string>;
    suggestionsChanged: EventEmitter<string[]>;
    finished: EventEmitter<void>;
    suggestions: string[];
    isValid: boolean;
    dispatchGate: BehaviorSubject<string>;
    constructor(el: ElementRef, store: Store, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    setupListeners(): void;
    setupDispatchGate(): void;
    search(event: AutoCompleteCompleteEvent): void;
    onClear(): void;
    handleInitialSelection(): void;
    handleSelection(): void;
    onSelect(): void;
    handleKeyDown(event: KeyboardEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SmzAutocompleteSelectorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SmzAutocompleteSelectorComponent, "smz-autocomplete-selector", never, { "isRequired": { "alias": "isRequired"; "required": false; }; "allowCustomValues": { "alias": "allowCustomValues"; "required": false; }; "option": { "alias": "option"; "required": false; }; "suggestions": { "alias": "suggestions"; "required": false; }; }, { "selectedChange": "selectedChange"; "suggestionsChanged": "suggestionsChanged"; "finished": "finished"; }, never, never, true, never>;
}
