///
import { CommandRegistry } from '@tartjs/core/lib/common/command';
import { Disposable, DisposableCollection, Emitter } from '@tartjs/core/lib/common';
import ICommandEvent = monaco.commands.ICommandEvent;
import ICommandService = monaco.commands.ICommandService;
export declare const MonacoCommandServiceFactory: unique symbol;
export interface MonacoCommandServiceFactory {
(): MonacoCommandService;
}
export declare class MonacoCommandService implements ICommandService, Disposable {
protected readonly commandRegistry: CommandRegistry;
protected readonly onWillExecuteCommandEmitter: Emitter;
protected readonly onDidExecuteCommandEmitter: Emitter;
protected readonly toDispose: DisposableCollection;
protected delegate: monaco.services.StandaloneCommandService | undefined;
protected readonly delegateListeners: DisposableCollection;
constructor(commandRegistry: CommandRegistry);
get onWillExecuteCommand(): monaco.IEvent;
get onDidExecuteCommand(): monaco.IEvent;
dispose(): void;
setDelegate(delegate: monaco.services.StandaloneCommandService | undefined): void;
executeCommand(commandId: any, ...args: any[]): Promise;
executeMonacoCommand(commandId: any, ...args: any[]): Promise;
}