import { FormControl } from '@angular/forms';
import { OverlayComponent } from '../../../../overlay/src/lib/overlay/overlay.component';
import * as i0 from "@angular/core";
export interface DropdownSelectOption {
    value: string;
    label: string;
    icon?: string;
    disabled?: boolean;
}
export interface DropdownSelectOptionGroup {
    label?: string;
    options: DropdownSelectOption[];
}
export type DropdownSelectVariant = 'select' | 'multiselect';
export declare class DropdownSelectComponent {
    options: import("@angular/core").InputSignal<DropdownSelectOptionGroup[]>;
    variant: import("@angular/core").InputSignal<DropdownSelectVariant>;
    selectedValues: import("@angular/core").InputSignal<string | string[]>;
    searchBarEnabled: import("@angular/core").InputSignal<boolean>;
    searchPlaceholder: import("@angular/core").InputSignal<string>;
    disabled: import("@angular/core").InputSignal<boolean>;
    cancelButtonText: import("@angular/core").InputSignal<string>;
    acceptButtonText: import("@angular/core").InputSignal<string>;
    align: import("@angular/core").InputSignal<"left" | "right" | "center">;
    direction: import("@angular/core").InputSignal<"up" | "down">;
    appendToBody: import("@angular/core").InputSignal<boolean>;
    autoFocus: import("@angular/core").InputSignal<boolean>;
    width: import("@angular/core").InputSignal<string>;
    safeAreaInsetBottom: import("@angular/core").InputSignal<boolean>;
    optionSelected: import("@angular/core").OutputEmitterRef<DropdownSelectOption>;
    optionDeselected: import("@angular/core").OutputEmitterRef<DropdownSelectOption>;
    searchChanged: import("@angular/core").OutputEmitterRef<string>;
    valueChange: import("@angular/core").OutputEmitterRef<string | string[]>;
    cancelClicked: import("@angular/core").OutputEmitterRef<void>;
    acceptClicked: import("@angular/core").OutputEmitterRef<string | string[]>;
    private _filteredOptions;
    private _searchText;
    private _internalSelectedValues;
    private _isInitialized;
    private _isMobile;
    private _tempSelectedValues;
    private _isOverlayOpen;
    searchControl: FormControl<string>;
    filteredOptions: import("@angular/core").Signal<DropdownSelectOptionGroup[]>;
    searchText: import("@angular/core").Signal<string>;
    isMultiSelect: import("@angular/core").Signal<boolean>;
    showSearchBar: import("@angular/core").Signal<boolean>;
    showMobileActions: import("@angular/core").Signal<boolean>;
    private platformId;
    overlay: OverlayComponent;
    constructor();
    isSelected(option: DropdownSelectOption): boolean;
    private updateMobileDetection;
    selectOption(option: DropdownSelectOption): void;
    onCheckboxChange(option: DropdownSelectOption, checked: boolean): void;
    private updateTempSelection;
    private toggleMultiSelectOption;
    private selectSingleOption;
    private filterOptions;
    private addToSelection;
    private removeFromSelection;
    private emitValueChange;
    setTriggerButton(element: HTMLElement): void;
    toggleDropdown(): void;
    onOverlayOpened(): void;
    onOverlayClosed(): void;
    onCancelClick(): void;
    onAcceptClick(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DropdownSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DropdownSelectComponent, "lib-dropdown-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "searchBarEnabled": { "alias": "searchBarEnabled"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "cancelButtonText": { "alias": "cancelButtonText"; "required": false; "isSignal": true; }; "acceptButtonText": { "alias": "acceptButtonText"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "appendToBody": { "alias": "appendToBody"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "safeAreaInsetBottom": { "alias": "safeAreaInsetBottom"; "required": false; "isSignal": true; }; }, { "optionSelected": "optionSelected"; "optionDeselected": "optionDeselected"; "searchChanged": "searchChanged"; "valueChange": "valueChange"; "cancelClicked": "cancelClicked"; "acceptClicked": "acceptClicked"; }, never, never, true, never>;
}
