import { OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { IManagedObject, IOperation, IResultList } from '@c8y/client';
import { AlertService, ForOfFilterPipe, ManagedObjectRealtimeService, OperationRealtimeService, ProductExperienceEvent, ProductExperienceEventSource } from '@c8y/ngx-components';
import { BehaviorSubject, Observable } from 'rxjs';
import { ComparisonResult, DeviceProfile } from '../device-profile.model';
import { DeviceProfileService } from '../device-profile.service';
import * as i0 from "@angular/core";
export declare class DeviceTabProfileComponent implements OnInit, ProductExperienceEventSource {
    deviceRealtime: ManagedObjectRealtimeService;
    private deviceProfileService;
    private route;
    private operationRealtime;
    private alertService;
    PRODUCT_EXPERIENCE: {
        readonly EVENTS: {
            readonly REPOSITORY: "deviceProfileRepository";
            readonly DEVICE_TAB: "deviceProfileTab";
        };
        readonly COMPONENTS: {
            readonly DEVICE_PROFILE_LIST: "device-profile-list";
            readonly ADD_DEVICE_PROFILE: "add-device-profile";
            readonly DEVICE_PROFILE: "device-profile";
            readonly DEVICE_TAB_PROFILE: "device-tab-profile";
        };
        readonly ACTIONS: {
            readonly CANCEL: "cancel";
            readonly CREATE: "create";
            readonly REMOVE: "remove";
            readonly ADD: "add";
            readonly SAVE: "save";
            readonly ASSIGN_DEVICE_PROFILE: "assignDeviceProfile";
        };
        readonly RESULTS: {
            readonly ADD_SOFTWARE: "addSoftware";
        };
        readonly FRAGMENTS: {
            readonly FIRMWARE: "firmware";
            readonly SOFTWARE: "software";
            readonly CONFGIURATION: "configuration";
        };
    };
    device: IManagedObject;
    deviceProfiles$: Observable<IResultList<IManagedObject>>;
    selectedProfile: Partial<DeviceProfile>;
    operation: IOperation;
    firmwareItems: ComparisonResult[];
    softwareItems: ComparisonResult[];
    configurationItems: ComparisonResult[];
    filterPipe: ForOfFilterPipe;
    pattern$: BehaviorSubject<string>;
    reload$: BehaviorSubject<boolean>;
    productExperienceEvent: ProductExperienceEvent;
    private destroyRef;
    constructor(deviceRealtime: ManagedObjectRealtimeService, deviceProfileService: DeviceProfileService, route: ActivatedRoute, operationRealtime: OperationRealtimeService, alertService: AlertService);
    ngOnInit(): Promise<void>;
    getDeviceProfilesAndUpdateProfileItems(): Promise<void>;
    selectProfile(mo: DeviceProfile): void;
    createOperation(): Promise<void>;
    updateProfileItems(device: any, profile: any): void;
    private subscribeToManagedObjects;
    private subscribeToOperations;
    private toProfileForDevice;
    static ɵfac: i0.ɵɵFactoryDeclaration<DeviceTabProfileComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DeviceTabProfileComponent, "c8y-device-tab-profile", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=device-tab-profile.component.d.ts.map