import { EventEmitter, SimpleChanges, TemplateRef } from '@angular/core';
import { IIdentified } from '@c8y/client';
import { BsModalRef } from 'ngx-bootstrap/modal';
import { ProductExperienceEvent, ProductExperienceEventSource } from '../product-experience/product-experience.model';
import { ISelectModalObject, ModalLabels, ModalSelectionMode } from './select-modal.model';
import { SupportedIconsSuggestions } from '@c8y/ngx-components/icon-selector/icons';
import * as i0 from "@angular/core";
interface ISelectModalInternalObject extends ISelectModalObject {
    selectedId: string | number;
}
export declare class SelectModalComponent implements ProductExperienceEventSource {
    private bsModalRef;
    icon: SupportedIconsSuggestions;
    title: string;
    subTitle: string;
    items: ISelectModalInternalObject[];
    mode: ModalSelectionMode;
    disableSelected: boolean;
    showFilter: boolean;
    additionalFilterTemplate: TemplateRef<any>;
    areMoreEntries: boolean;
    set labels(labels: ModalLabels);
    get labels(): ModalLabels;
    noItemsMessage: string;
    hideEmptyItems: boolean;
    result: EventEmitter<IIdentified[]>;
    search: EventEmitter<string>;
    onChoiceUpdated: EventEmitter<IIdentified>;
    selected: boolean;
    filterTerm: string;
    listItems: ISelectModalInternalObject[];
    productExperienceEvent: ProductExperienceEvent;
    emptyItemsOnly: boolean;
    private debouncer;
    private _labels;
    constructor(bsModalRef: BsModalRef);
    ngOnChanges(changes: SimpleChanges): Promise<void>;
    updatePipe(filterTerm: string): void;
    updateChoice({ item, id }: {
        item: any;
        id: any;
    }): void;
    dismiss(): void;
    select(): void;
    ngOnDestroy(): void;
    private getOutput;
    static ɵfac: i0.ɵɵFactoryDeclaration<SelectModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SelectModalComponent, "c8y-select-modal", never, { "icon": { "alias": "icon"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subTitle": { "alias": "subTitle"; "required": false; }; "items": { "alias": "items"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "disableSelected": { "alias": "disableSelected"; "required": false; }; "showFilter": { "alias": "showFilter"; "required": false; }; "additionalFilterTemplate": { "alias": "additionalFilterTemplate"; "required": false; }; "areMoreEntries": { "alias": "areMoreEntries"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "noItemsMessage": { "alias": "noItemsMessage"; "required": false; }; "hideEmptyItems": { "alias": "hideEmptyItems"; "required": false; }; }, { "result": "result"; "search": "search"; "onChoiceUpdated": "onChoiceUpdated"; }, never, never, false, never>;
}
export {};
//# sourceMappingURL=select-modal.component.d.ts.map