import { OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { IManagedObject, IResultList, InventoryService } from '@c8y/client';
import { AlertService, GainsightService, ModalService } from '@c8y/ngx-components';
import { FirmwareBinary, RepositoryService } from '@c8y/ngx-components/repository/shared';
import { TranslateService } from '@ngx-translate/core';
import { BsModalService } from 'ngx-bootstrap/modal';
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class FirmwareDetailsComponent implements OnInit, OnDestroy {
    private activatedRoute;
    private inventoryService;
    private repositoryService;
    private alertService;
    private translateService;
    private modalService;
    private bsModalService;
    private gainsightService;
    private router;
    reload$: Subject<void>;
    reloading$: BehaviorSubject<boolean>;
    firmware: IManagedObject;
    updateFirmware$: Subject<Partial<IManagedObject>>;
    firmwareUpdated$: Subject<IManagedObject>;
    baseVersionsUpdated$: Subject<void>;
    patchVersionsUpdated$: Subject<void>;
    firmware$: Observable<IManagedObject>;
    baseVersions$: Observable<IResultList<IManagedObject>>;
    isLegacy$: Observable<boolean>;
    canAddPatchVersions$: Observable<boolean>;
    expanded: {
        [id: string]: boolean;
    };
    destroy$: Subject<boolean>;
    constructor(activatedRoute: ActivatedRoute, inventoryService: InventoryService, repositoryService: RepositoryService, alertService: AlertService, translateService: TranslateService, modalService: ModalService, bsModalService: BsModalService, gainsightService: GainsightService, router: Router);
    ngOnInit(): void;
    getPatchVersionsCount$(baseVersion: FirmwareBinary): Observable<number>;
    getBinaryName$(binaryUrl: any): Observable<string>;
    getPatchVersions$(baseVersion: any): Observable<IResultList<IManagedObject>>;
    addBaseVersion(): void;
    addPatchVersion(): void;
    deleteBaseVersion(baseVersion: IManagedObject): Promise<void>;
    deletePatchVersion(patchVersion: IManagedObject): Promise<void>;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FirmwareDetailsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FirmwareDetailsComponent, "c8y-firmware-details", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=firmware-details.component.d.ts.map