import { OnInit } from '@angular/core';
import { IApplication, InventoryService } from '@c8y/client';
import { ApplicationPlugin, PluginsService } from '@c8y/ngx-components';
import { EcosystemService } from '@c8y/ngx-components/ecosystem/shared';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class UpdateApplicationModalComponent implements OnInit {
    private inventoryService;
    private ecosystemService;
    private pluginsService;
    private modal;
    isUpdateOngoing: boolean;
    updateFailure: boolean;
    sourcePackage: IApplication;
    application: IApplication;
    result: Promise<void>;
    orphanedPlugins$: BehaviorSubject<ApplicationPlugin[]>;
    newPlugins$: BehaviorSubject<ApplicationPlugin[]>;
    private _resolve;
    private _reject;
    constructor(inventoryService: InventoryService, ecosystemService: EcosystemService, pluginsService: PluginsService);
    ngOnInit(): void;
    /**
     * Checks if there is a delta between the current application and the source package remotes.
     * @returns {boolean} true if there is a delta between the current application and the source package remotes.
     */
    getRemoteDelta(): boolean;
    close(): void;
    done(): void;
    updateApplication(): Promise<void>;
    private getAllRemotesToAdd;
    private getAllRemotesToRemove;
    static ɵfac: i0.ɵɵFactoryDeclaration<UpdateApplicationModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<UpdateApplicationModalComponent, "c8y-update-application-modal", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=update-application-modal.component.d.ts.map