import { ILogger } from '@theia/core'; import { PluginDeployerHandler, PluginDeployerEntry, PluginEntryPoint, DeployedPlugin, PluginDependencies, PluginIdentifiers } from '../../common/plugin-protocol'; import { Stopwatch } from '@theia/core/lib/common'; import { PluginUninstallationManager } from '../../main/node/plugin-uninstallation-manager'; export declare class PluginDeployerHandlerImpl implements PluginDeployerHandler { protected readonly logger: ILogger; private readonly reader; private readonly localizationService; protected readonly stopwatch: Stopwatch; protected readonly uninstallationManager: PluginUninstallationManager; private readonly deployedLocations; protected readonly sourceLocations: Map<`${string}.${string}@${string}`, Set>; /** * Managed plugin metadata backend entries. */ private readonly deployedBackendPlugins; /** * Managed plugin metadata frontend entries. */ private readonly deployedFrontendPlugins; private backendPluginsMetadataDeferred; private frontendPluginsMetadataDeferred; getDeployedFrontendPluginIds(): Promise; getDeployedBackendPluginIds(): Promise; getDeployedBackendPlugins(): Promise; getDeployedPluginIds(): Promise; getDeployedPlugins(): Promise; getDeployedPluginsById(pluginId: string): DeployedPlugin[]; getDeployedPlugin(pluginId: PluginIdentifiers.VersionedId): DeployedPlugin | undefined; /** * @throws never! in order to isolate plugin deployment */ getPluginDependencies(entry: PluginDeployerEntry): Promise; deployFrontendPlugins(frontendPlugins: PluginDeployerEntry[]): Promise; deployBackendPlugins(backendPlugins: PluginDeployerEntry[]): Promise; /** * @throws never! in order to isolate plugin deployment. * @returns whether the plugin is deployed after running this function. If the plugin was already installed, will still return `true`. */ protected deployPlugin(entry: PluginDeployerEntry, entryPoint: keyof PluginEntryPoint): Promise; uninstallPlugin(pluginId: PluginIdentifiers.VersionedId): Promise; protected markAsInstalled(id: PluginIdentifiers.VersionedId): void; undeployPlugin(pluginId: PluginIdentifiers.VersionedId): Promise; protected setSourceLocationsForPlugin(id: PluginIdentifiers.VersionedId, entry: PluginDeployerEntry): void; enablePlugin(pluginId: PluginIdentifiers.UnversionedId): Promise; disablePlugin(pluginId: PluginIdentifiers.UnversionedId): Promise; } //# sourceMappingURL=plugin-deployer-handler-impl.d.ts.map