import { ElementRef, EventEmitter, OnDestroy, OnInit, SimpleChanges, ChangeDetectorRef } from '@angular/core';
import { Subscription } from 'rxjs';
import { ChangeService } from '../../services/change/change.service';
import { CountryService } from '../../services/country/country.service';
import { DataService } from '../../services/data/data.service';
import { StorageService } from '../../services/storage/storage.service';
import { TranslationService } from '../../services/translation/translation.service';
import * as i0 from "@angular/core";
export declare class NxtMultiSelect implements OnInit, OnDestroy {
    private countryService;
    private translationService;
    private changeService;
    private dataService;
    private storageService;
    private cdr;
    options: any[];
    placeholder: string;
    apiMeta: any;
    selectedValue: any;
    progressBar: boolean;
    readOnly: boolean;
    error: any;
    fromShengel: boolean;
    question: any;
    mode: 'view' | 'edit' | 'print';
    from: any;
    padding: any;
    onlyView: boolean;
    labelFont: any;
    label: any;
    labelColor: any;
    inputTextColor: any;
    labelSize: any;
    inputValueSize: any;
    labelWeight: any;
    inputWeight: any;
    showLabel: boolean;
    inputBorder: any;
    inputBgColor: any;
    inputIconLeftSrc: any;
    inputId: string;
    allowCustomOptions: boolean;
    valueChange: EventEmitter<any>;
    multiSelectWrapper: ElementRef;
    searchInput: ElementRef<HTMLInputElement>;
    subscription: Subscription;
    showOptions: boolean;
    isLoading: boolean;
    noDataFound: boolean;
    searchText: string;
    filteredOptions: any[];
    selectedValues: any[];
    constructor(countryService: CountryService, translationService: TranslationService, changeService: ChangeService, dataService: DataService, storageService: StorageService, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    getOptions(): void;
    toggle(event?: Event): void;
    openOptions(): void;
    toggleOption(option: any, event?: Event): void;
    addSearchTextAsOption(event?: Event): void;
    removeSelected(selected: any, event?: Event): void;
    clearSelection(event?: Event): void;
    toggleSelectAll(event?: Event): void;
    inputValue(value: string): void;
    filterOptions(searchValue: any): void;
    emitSelection(): void;
    get selectedItems(): any[];
    get selectedLabels(): string;
    get customOptionText(): string;
    get canCreateCustomOption(): boolean;
    get orderedOptions(): any[];
    get hasPartialVisibleSelection(): boolean;
    get showSelectedDivider(): boolean;
    areAllVisibleSelected(): boolean;
    isLastSelectedOption(index: number): boolean;
    isSelected(option: any): boolean;
    getOptionLabel(option: any): string;
    getSelectionDisplay(selected: any): string;
    getOptionPrimaryText(option: any): string;
    getOptionSecondaryValues(option: any): string[];
    highlightOptionText(text: string): string;
    getOptionValue(option: any): any;
    onDocumentClick(event: MouseEvent): void;
    private normalizeSelectedValues;
    private getChangeField;
    private getComparableValue;
    private findOptionByValue;
    private findExactOptionByText;
    private isTextSelected;
    private createCustomOption;
    private usesObjectOptions;
    private getOptionDisplayValues;
    private getOptionSearchText;
    private getDisplayFields;
    private getNestedDisplayValue;
    private sanitizeHtml;
    private normalizeText;
    private focusSearchInput;
    static ɵfac: i0.ɵɵFactoryDeclaration<NxtMultiSelect, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NxtMultiSelect, "nxt-multi-select", never, { "options": { "alias": "options"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "apiMeta": { "alias": "apiMeta"; "required": false; }; "selectedValue": { "alias": "selectedValue"; "required": false; }; "progressBar": { "alias": "progressBar"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "error": { "alias": "error"; "required": false; }; "fromShengel": { "alias": "fromShengel"; "required": false; }; "question": { "alias": "question"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "from": { "alias": "from"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "onlyView": { "alias": "onlyView"; "required": false; }; "labelFont": { "alias": "labelFont"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelColor": { "alias": "labelColor"; "required": false; }; "inputTextColor": { "alias": "inputTextColor"; "required": false; }; "labelSize": { "alias": "labelSize"; "required": false; }; "inputValueSize": { "alias": "inputValueSize"; "required": false; }; "labelWeight": { "alias": "labelWeight"; "required": false; }; "inputWeight": { "alias": "inputWeight"; "required": false; }; "showLabel": { "alias": "showLabel"; "required": false; }; "inputBorder": { "alias": "inputBorder"; "required": false; }; "inputBgColor": { "alias": "inputBgColor"; "required": false; }; "inputIconLeftSrc": { "alias": "inputIconLeftSrc"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "allowCustomOptions": { "alias": "allowCustomOptions"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
}
