import { EventEmitter, ElementRef, Renderer2, ChangeDetectorRef, TemplateRef, OnInit, OnChanges, AfterViewChecked, OnDestroy } from '@angular/core';
import { Observable, BehaviorSubject, Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class LookupItemDirective {
    templateRef: TemplateRef<any>;
    constructor(templateRef: TemplateRef<any>);
    static ɵfac: i0.ɵɵFactoryDeclaration<LookupItemDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LookupItemDirective, "[unoLookupItem]", never, {}, {}, never, never, false>;
}
export declare class LookupLabelDirective {
    templateRef: TemplateRef<any>;
    constructor(templateRef: TemplateRef<any>);
    static ɵfac: i0.ɵɵFactoryDeclaration<LookupLabelDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LookupLabelDirective, "[unoLookupLabel]", never, {}, {}, never, never, false>;
}
export declare class LookupHeaderDirective {
    hasLabel: boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<LookupHeaderDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LookupHeaderDirective, "[unoLookupHeader]", never, {}, {}, never, never, false>;
}
export declare class LookupComponent implements OnInit, OnChanges, AfterViewChecked, OnDestroy {
    private element;
    private renderer;
    private detector;
    itemTemplate: LookupItemDirective;
    lookup: Function;
    field: string;
    placeholder: string;
    noResultsText: string;
    searchIcon: boolean;
    debounce: number;
    set isDisabled(disabled: boolean | string);
    get isDisabled(): boolean | string;
    inputWasTouched: EventEmitter<any>;
    scrollEndReached: EventEmitter<any>;
    set value(value: string);
    valueChange: EventEmitter<string>;
    pick: any;
    set setPick(pick: any);
    pickChange: EventEmitter<any>;
    label: string;
    labelTemplate: LookupLabelDirective;
    inputEl: ElementRef;
    inputId: string;
    _label: string | TemplateRef<any>;
    private _disabled;
    private globalClickUnsubscriber;
    private _open;
    set open(_open: boolean);
    get open(): boolean;
    inputValue: string;
    private inputSubject;
    suggestions: any[];
    suggestionsSubscription: Subscription;
    noResults: boolean;
    activeIndex: number;
    private lastUserInput;
    private pendingFocus;
    constructor(element: ElementRef, renderer: Renderer2, detector: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnChanges(): void;
    ngAfterViewChecked(): void;
    ngOnDestroy(): void;
    get expanded(): boolean;
    handleScroll(scrollObj: any): void;
    pickActive(evt: KeyboardEvent): void;
    handlePick(item: any): void;
    moveActive(evt: KeyboardEvent, moves: number): void;
    optionId(index: number): string;
    onInputChange(value: string): void;
    removeUserSelection(): void;
    close(evt?: KeyboardEvent): void;
    getInputBehaviorSubjectByChanges(isByChanges: boolean, isDelayed: boolean): BehaviorSubject<any> | Observable<string>;
    triggerLookupByChangesOn(behaviorSubject: BehaviorSubject<any> | Observable<string>, isDistinct: boolean): Observable<any>;
    resolveLabel(item: any): any;
    globalClickHandler($event: MouseEvent): void;
    focus(): void;
    private unsubscribeGlobalClick;
    static ɵfac: i0.ɵɵFactoryDeclaration<LookupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LookupComponent, "uno-lookup", never, { "lookup": "lookup"; "field": "field"; "placeholder": "placeholder"; "noResultsText": "noResultsText"; "searchIcon": "searchIcon"; "debounce": "debounce"; "isDisabled": "isDisabled"; "value": "value"; "setPick": "pick"; "label": "label"; "open": "open"; }, { "inputWasTouched": "inputWasTouched"; "scrollEndReached": "scrollEndReached"; "valueChange": "valueChange"; "pickChange": "pickChange"; }, ["itemTemplate", "labelTemplate"], ["[unoLookupHeader]"], false>;
}
