import { OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { IIdentified, IResultList } from '@c8y/client';
import { BehaviorSubject, Observable } from 'rxjs';
import { DatapointLibraryService } from './datapoint-library.service';
import { KPIDetails, ManagedObjectKPI } from './datapoint-selection.model';
import * as i0 from "@angular/core";
export declare class DatapointSelectorComponent implements OnInit, ControlValueAccessor {
    private datapointService;
    contextAsset: IIdentified;
    allowChangingContext: boolean;
    allowDatapointsFromMultipleAssets: boolean;
    selectedDatapoints: KPIDetails[];
    defaultActiveState: boolean;
    ignoreDatapointTemplates: boolean;
    datapointTemplatesOnly: boolean;
    guessDatapointUnit: boolean;
    allowSearch: boolean;
    hideSelection: boolean;
    itemsEditable: boolean;
    searchString: string;
    maxNumberOfDatapoints: number;
    selectorTitle: string;
    emptyStateTitle: string;
    selectedListTitle: string;
    AddButtonTypes: {
        readonly none: "none";
        readonly addRemove: "add-remove";
        readonly select: "select";
    };
    loadingDatapoints: boolean;
    assetSelection: BehaviorSubject<IIdentified>;
    datapoints$: Observable<KPIDetails[]>;
    filteredDatapoints$: Observable<KPIDetails[]>;
    searchStringChanges$: Observable<string>;
    datapointLibraryEntries: Observable<IResultList<ManagedObjectKPI>>;
    emptyStateSubtitleWhenNoMatchingDataPoints: "Try another search term.";
    emptyStateSubtitleWhenNoDataPointsInAsset: "Select an asset with data points from the list.";
    private searchString$;
    private touched;
    private onChange;
    private onTouched;
    constructor(datapointService: DatapointLibraryService);
    ngOnInit(): void;
    writeValue(obj: KPIDetails[]): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    datapointAdded(dp: KPIDetails): void;
    datapointRemoved(dp: KPIDetails): void;
    selectionChanged(evt: IIdentified | IIdentified[]): void;
    trackByFn(_index: number, item: KPIDetails): string;
    searchStringChanged(newValue?: string): void;
    private setupObservables;
    private selectAsset;
    private clearSelection;
    private emitCurrentSelection;
    private markAsTouched;
    private includesSearchString;
    static ɵfac: i0.ɵɵFactoryDeclaration<DatapointSelectorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DatapointSelectorComponent, "c8y-datapoint-selector", never, { "contextAsset": { "alias": "contextAsset"; "required": false; }; "allowChangingContext": { "alias": "allowChangingContext"; "required": false; }; "allowDatapointsFromMultipleAssets": { "alias": "allowDatapointsFromMultipleAssets"; "required": false; }; "defaultActiveState": { "alias": "defaultActiveState"; "required": false; }; "ignoreDatapointTemplates": { "alias": "ignoreDatapointTemplates"; "required": false; }; "datapointTemplatesOnly": { "alias": "datapointTemplatesOnly"; "required": false; }; "guessDatapointUnit": { "alias": "guessDatapointUnit"; "required": false; }; "allowSearch": { "alias": "allowSearch"; "required": false; }; "hideSelection": { "alias": "hideSelection"; "required": false; }; "itemsEditable": { "alias": "itemsEditable"; "required": false; }; }, {}, never, never, false, never>;
}
//# sourceMappingURL=datapoint-selector.component.d.ts.map