import { ChangeDetectorRef, ElementRef, NgZone, OnDestroy } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { Observable } from 'rxjs';
import { SearchComponentInterface } from '../common/interface/search-component.interface';
import * as i0 from "@angular/core";
export declare const SEARCH_AUTOCOMPLETE_VALUE_ACCESSOR: any;
/**
 * Directive selectors without adf- prefix will be deprecated on 3.0.0
 */
export declare class SearchTriggerDirective implements ControlValueAccessor, OnDestroy {
    private element;
    private ngZone;
    private changeDetectorRef;
    private document;
    searchPanel: SearchComponentInterface;
    autocomplete: string;
    private _panelOpen;
    private closingActionsSubscription;
    private escapeEventStream;
    onChange: (value: any) => void;
    onTouched: () => void;
    private readonly destroyRef;
    constructor(element: ElementRef, ngZone: NgZone, changeDetectorRef: ChangeDetectorRef, document: any);
    ngOnDestroy(): void;
    get panelOpen(): boolean;
    openPanel(): void;
    closePanel(): void;
    get panelClosingActions(): Observable<any>;
    private get outsideClickStream();
    writeValue(value: any): void;
    registerOnChange(fn: (value: any) => any): void;
    registerOnTouched(fn: () => any): void;
    handleKeydown(event: KeyboardEvent): void;
    handleInput(event: KeyboardEvent): void;
    private isPanelOptionClicked;
    private isNoResultOption;
    private subscribeToClosingActions;
    private setTriggerValue;
    private setValueAndClose;
    static ɵfac: i0.ɵɵFactoryDeclaration<SearchTriggerDirective, [null, null, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SearchTriggerDirective, "input[searchAutocomplete], textarea[searchAutocomplete]", never, { "searchPanel": { "alias": "searchAutocomplete"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; }, {}, never, never, true, never>;
}
