import { ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
import { FormControl } from '@angular/forms';
import { DropdownButtonStyle, DropdownItem } from '../../models';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class SearchableDropdownComponent implements OnInit, OnDestroy, OnChanges {
    style: DropdownButtonStyle;
    items: Array<DropdownItem>;
    buttonText: string;
    searchText: string;
    noResultsText: string;
    disabled: boolean;
    width: number;
    itemSelected: EventEmitter<any>;
    buttons: QueryList<ElementRef>;
    private readonly searchId;
    readonly searchTerm: FormControl<string>;
    readonly focusedItemId$: BehaviorSubject<string>;
    readonly open$: BehaviorSubject<boolean>;
    readonly filteredItems$: BehaviorSubject<DropdownItem[]>;
    private wasInside;
    private keySubscription;
    private searchSubscription;
    private readonly mouseOnList$;
    clickInside(): void;
    clickout(): void;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    openDropdown(): void;
    hoverOverButton(id: string): void;
    mouseEnterList(): void;
    mouseLeaveList(): void;
    resetFocus(): void;
    submit(id: string): void;
    private closeDropdown;
    private openKeysSubscription;
    private openSearchSubscription;
    private scrollButtonIntoView;
    static ɵfac: i0.ɵɵFactoryDeclaration<SearchableDropdownComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SearchableDropdownComponent, "valtimo-searchable-dropdown", never, { "style": { "alias": "style"; "required": false; }; "items": { "alias": "items"; "required": false; }; "buttonText": { "alias": "buttonText"; "required": false; }; "searchText": { "alias": "searchText"; "required": false; }; "noResultsText": { "alias": "noResultsText"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "itemSelected": "itemSelected"; }, never, never, false, never>;
}
//# sourceMappingURL=searchable-dropdown.component.d.ts.map