import { Injector } from '@opensumi/di'; import { IRPCProtocol, WSChannel } from '@opensumi/ide-connection'; import { BaseConnection } from '@opensumi/ide-connection/lib/common/connection'; import { Deferred, ExtHostSpawnOptions, IApplicationService, IExtensionProps } from '@opensumi/ide-core-browser'; import { IExtension, IExtensionHostService } from '../common'; import { ActivatedExtensionJSON } from '../common/activator'; import { AbstractNodeExtProcessService } from '../common/extension.service'; export declare class NodeExtProcessService implements AbstractNodeExtProcessService { private readonly appConfig; protected readonly injector: Injector; private readonly extensionNodeClient; protected readonly applicationService: IApplicationService; private readonly channelHandler; private readonly mainThreadExtenderService; private readonly mainThreadExtenderContributionProvider; private _apiFactoryDisposables; ready: Deferred; private _extHostUpdated; private extensions; protocol: IRPCProtocol; disposeApiFactory(): void; disposeProcess(): Promise; activate(): Promise; activeExtension(extension: IExtension, isWebExtension: boolean): Promise; updateExtensionData(extensions: IExtension[]): Promise; getExtension(extensionId: string): IExtension | undefined; $activateExtension(extensionPath: string): Promise; $getExtensions(): Promise; getProxy(): Promise; private createBrowserMainThreadAPI; getSpawnOptions(): ExtHostSpawnOptions; /** * register external main thread class * @returns disposer */ private createExternalSumiAPIFactory; getActivatedExtensions(): Promise; private get clientId(); private createExtProcess; connection: BaseConnection; channel: WSChannel; /** * 这个 protocol 需要每次都重新创建,因为服务端是会在该 channel 连上后才开始进行插件进程相关的逻辑的 */ private initExtProtocol; } //# sourceMappingURL=extension-node.service.d.ts.map