import { Injector } from '@opensumi/di'; import { IRPCProtocol } from '@opensumi/ide-connection'; import { IExtension } from '../../common'; export declare class KaitianBrowserCommand { private rpcProtocol?; private readonly monacoCommandService; private readonly commandRegistry; private readonly logger; private readonly proxy?; constructor(rpcProtocol?: IRPCProtocol | undefined); /** * @param id commandid * @param extension 插件 * @param args 参数 * **允许前端调用的** command 都会注册到 commandRegistry * commandRegistry 不存在的 command,表示没有注册或该 command 是通过 extHost 配置的内置命令 * command 在 commandRegistry 已注册,则优先通过 extHostCommand 调用,这样即可在插件进程执行鉴权逻辑 * 否则仅在前端鉴权后执行,对于没有后端或没有 extHost 的情况下,满足执行前端命令的需求 */ executeCommand(id: string, extension: IExtension, ...args: any[]): Promise; } export declare function createBrowserCommandsApiFactory(injector: Injector, extension: IExtension, rpcProtocol?: IRPCProtocol): { executeCommand(command: string, ...args: any): Promise; }; //# sourceMappingURL=commands.d.ts.map