import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service"; import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatAgents.service"; import { IChatSlashCommandService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service"; import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service"; import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service"; import { IAgentSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service"; import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service"; import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service"; export declare class ChatSlashCommandsContribution extends Disposable { private readonly environmentService; static readonly ID = "workbench.contrib.chatSlashCommands"; constructor(slashCommandService: IChatSlashCommandService, commandService: ICommandService, chatAgentService: IChatAgentService, instantiationService: IInstantiationService, agentSessionsService: IAgentSessionsService, chatService: IChatService, configurationService: IConfigurationService, chatWidgetService: IChatWidgetService, environmentService: IWorkbenchEnvironmentService); } /** * Registers slash commands declared by chat session providers via * {@link IChatSessionProviderOptionItem.slashCommand}. Each slash command is * scoped to its contributing session type via a `chatSessionType == X` `when` * clause, executes immediately, and updates the session option corresponding * to its declaring item — so e.g. `/yolo` switches the active permission mode * without sending a chat request. */ export declare class ChatSessionOptionSlashCommandsContribution extends Disposable { private readonly chatSessionsService; private readonly slashCommandService; private readonly logService; static readonly ID = "workbench.contrib.chatSessionOptionSlashCommands"; private readonly _registrationsByType; constructor(chatSessionsService: IChatSessionsService, slashCommandService: IChatSlashCommandService, logService: ILogService); private refreshForSessionType; private registerOne; }