import { Disposable, IDisposable } from '@opensumi/ide-core-common';
import { ExtensionHostType, IExtCommandManagement } from '../common';
import { IMainThreadCommands } from '../common/vscode';
/**
 * 管理插件命令的运行环境
 */
export declare class ExtCommandManagementImpl extends Disposable implements IExtCommandManagement {
    /**
     * 存储插件的 command 的注册环境
     */
    private commandEnvRegistry;
    /**
     * 存储不同执行环境的 command 的 executor
     */
    private proxyCommandExecutorRegistry;
    dispose(): void;
    registerProxyCommandExecutor(env: ExtensionHostType, proxyCommandExecutor: IMainThreadCommands): void;
    executeExtensionCommand(env: ExtensionHostType, command: string, args: any[]): Promise<any>;
    /**
     * 标记 command 的运行环境
     */
    registerExtensionCommandEnv(command: string, targetHost?: ExtensionHostType): IDisposable;
    getExtensionCommandEnv(command: string): ExtensionHostType | undefined;
}
//# sourceMappingURL=extension-command-management.d.ts.map