import { ProviderResult } from 'vscode'; import { ClientCapabilities, ServerCapabilities, ExecuteCommandRegistrationOptions, RegistrationType } from 'vscode-languageserver-protocol'; import { FeatureClient, DynamicFeature, FeatureState, RegistrationData } from './features'; export interface ExecuteCommandSignature { (this: void, command: string, args: any[]): ProviderResult; } export interface ExecuteCommandMiddleware { executeCommand?: (this: void, command: string, args: any[], next: ExecuteCommandSignature) => ProviderResult; } export declare class ExecuteCommandFeature implements DynamicFeature { private readonly _client; private readonly _commands; constructor(client: FeatureClient); getState(): FeatureState; get registrationType(): RegistrationType; fillClientCapabilities(capabilities: ClientCapabilities): void; initialize(capabilities: ServerCapabilities): void; register(data: RegistrationData): void; unregister(id: string): void; clear(): void; }