import { CancellationToken } from "../../../../../base/common/cancellation.js"; import { Event } from "../../../../../base/common/event.js"; import { IDisposable } from "../../../../../base/common/lifecycle.js"; import { URI } from "../../../../../base/common/uri.js"; import { IProgress } from "../../../../../platform/progress/common/progress.js"; import { IChatProgress, IChatSendRequestOptions, IChatFollowup } from "../chatService/chatService.js"; import { ChatAgentLocation, ChatModeKind } from "../constants.js"; import { IChatMessage } from "../languageModels.js"; import { IChatSlashData, IChatSlashCallback } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/workbench/contrib/chat/common/participants/chatSlashCommands"; export declare const IChatSlashCommandService: import("../../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier; /** * This currently only exists to drive /clear and /help */ export interface IChatSlashCommandService { _serviceBrand: undefined; readonly onDidChangeCommands: Event; registerSlashCommand(data: IChatSlashData, command: IChatSlashCallback): IDisposable; executeCommand(id: string, prompt: string, progress: IProgress, history: IChatMessage[], location: ChatAgentLocation, sessionResource: URI, token: CancellationToken, options?: IChatSendRequestOptions): Promise<{ followUp: IChatFollowup[]; } | void>; getCommands(location: ChatAgentLocation, mode: ChatModeKind): Array; hasCommand(id: string): boolean; }