import { Uri as URI } from '@opensumi/ide-core-common'; import * as types from '../../../common/vscode/ext-types'; import * as modes from '../../../common/vscode/model.api'; import { CommandsConverter } from './ext.host.command'; export declare class ApiCommandArgument { readonly name: string; readonly description: string; readonly validate: (v: V) => boolean; readonly convert: (v: V) => O; static readonly Uri: ApiCommandArgument; static readonly Position: ApiCommandArgument; static readonly Range: ApiCommandArgument; static readonly Selection: ApiCommandArgument; static readonly Number: ApiCommandArgument; static readonly String: ApiCommandArgument; static readonly CallHierarchyItem: ApiCommandArgument<{ _sessionId: string; _itemId: string; kind: import("@opensumi/ide-monaco").SymbolKind; name: string; detail?: string | undefined; uri: import("vscode-uri/lib/umd/uri").UriComponents; range: { startLineNumber: number; startColumn: number; endLineNumber: number; endColumn: number; }; selectionRange: { startLineNumber: number; startColumn: number; endLineNumber: number; endColumn: number; }; tags?: modes.SymbolTag[] | undefined; }, types.CallHierarchyItem>; static readonly TypeHierarchyItem: ApiCommandArgument<{ _sessionId: string; _itemId: string; kind: import("@opensumi/ide-monaco").SymbolKind; name: string; detail?: string | undefined; uri: import("vscode-uri/lib/umd/uri").UriComponents; range: { startLineNumber: number; startColumn: number; endLineNumber: number; endColumn: number; }; selectionRange: { startLineNumber: number; startColumn: number; endLineNumber: number; endColumn: number; }; tags?: modes.SymbolTag[] | undefined; }, types.TypeHierarchyItem>; constructor(name: string, description: string, validate: (v: V) => boolean, convert: (v: V) => O); optional(): ApiCommandArgument; with(name: string | undefined, description: string | undefined): ApiCommandArgument; } export declare class ApiCommandResult { readonly description: string; readonly convert: (v: V, apiArgs: any[], cmdConverter: CommandsConverter) => O; static readonly Void: ApiCommandResult; constructor(description: string, convert: (v: V, apiArgs: any[], cmdConverter: CommandsConverter) => O); } export declare class ApiCommand { readonly id: string; readonly internalId: string; readonly description: string; readonly args: ApiCommandArgument[]; readonly result: ApiCommandResult; constructor(id: string, internalId: string, description: string, args: ApiCommandArgument[], result: ApiCommandResult); } export declare const newCommands: ApiCommand[]; //# sourceMappingURL=ext.host.api.command.d.ts.map