import { EventEmitter } from '@angular/core';
import { ApplicationRemotePlugins, IApplication } from '@c8y/client';
import { AlertService, ApplicationPlugin, GainsightService, PluginsService, HumanizeAppNamePipe } from '@c8y/ngx-components';
import { EcosystemService } from '@c8y/ngx-components/ecosystem/shared';
import { TranslateService } from '@ngx-translate/core';
import { BsModalService } from 'ngx-bootstrap/modal';
import { BehaviorSubject, Observable } from 'rxjs';
import { UpdateType } from './apps-to-update-remotes-select.model';
import * as i0 from "@angular/core";
export declare class PluginListComponent {
    private ecosystemService;
    private bsModalService;
    private pluginsService;
    private alertService;
    private translateService;
    private gainsightService;
    private humanizeAppNamePipe;
    CURRENT_LOCATION: string;
    plugins$: Observable<ApplicationPlugin[]>;
    emptyListText: string;
    selectable: boolean;
    hideSource: boolean;
    /**
     * Shows the install button for each plugin separately. Currently used in package-details view.
     */
    installable: boolean;
    package: IApplication;
    selectedItems: EventEmitter<ApplicationPlugin[]>;
    remotePlugins$: BehaviorSubject<ApplicationRemotePlugins>;
    selectedPlugins: {
        [key: string]: ApplicationPlugin;
    };
    updatingPluginId: Record<UpdateType, string>;
    appsDisabled: Set<IApplication['id']>;
    constructor(ecosystemService: EcosystemService, bsModalService: BsModalService, pluginsService: PluginsService, alertService: AlertService, translateService: TranslateService, gainsightService: GainsightService, humanizeAppNamePipe: HumanizeAppNamePipe);
    updateSelectedItems(selected: boolean, plugin: ApplicationPlugin): void;
    installPlugin(plugin: ApplicationPlugin): Promise<void>;
    uninstallPlugin(plugin: ApplicationPlugin): Promise<void>;
    private updateAppRemotes;
    private onUpdateEventHandleGS;
    private getAppsForUpdate;
    private isPluginInstalledInApp;
    private getPluginContextPathWithoutVersion;
    private handleRemotesUpdate;
    private getAllPluginsToRemove;
    private emitRemotes;
    private selectApps;
    static ɵfac: i0.ɵɵFactoryDeclaration<PluginListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PluginListComponent, "c8y-plugin-list", never, { "plugins$": { "alias": "plugins$"; "required": false; }; "emptyListText": { "alias": "emptyListText"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "hideSource": { "alias": "hideSource"; "required": false; }; "installable": { "alias": "installable"; "required": false; }; "package": { "alias": "package"; "required": false; }; }, { "selectedItems": "selectedItems"; }, never, never, false, never>;
}
//# sourceMappingURL=plugin-list.component.d.ts.map