import { OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { IManagedObject, InventoryService, IResultList } from '@c8y/client';
import { AlertService, GainsightService, ModalService } from '@c8y/ngx-components';
import { RepositoryService, SoftwareTypeComponent } 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 SoftwareDetailsComponent implements OnInit, OnDestroy {
    private activatedRoute;
    private inventoryService;
    private repositoryService;
    private alertService;
    private translateService;
    private modalService;
    private bsModalService;
    private gainsightService;
    private router;
    softwareType: SoftwareTypeComponent;
    reload$: Subject<void>;
    reloading$: BehaviorSubject<boolean>;
    softwareTypeObject: IManagedObject;
    isSoftwareTypeChanged: boolean;
    updateSoftware$: Subject<Partial<IManagedObject>>;
    softwareUpdated$: Subject<IManagedObject>;
    baseVersionsUpdated$: Subject<void>;
    software$: Observable<IManagedObject>;
    baseVersions$: Observable<IResultList<IManagedObject>>;
    isLegacy$: Observable<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;
    getBinaryName$(binaryUrl: any): Observable<string>;
    addBaseVersion(): void;
    deleteBaseVersion(baseVersion: IManagedObject): Promise<void>;
    onSelectSoftwareType(software: any): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SoftwareDetailsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SoftwareDetailsComponent, "c8y-software-details", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=software-details.component.d.ts.map