import { Separator } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions"; import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service"; import { ConfirmedReason, IChatToolInvocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService"; import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service"; import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service"; import { IChatConfirmationButton } from "../chatConfirmationWidget.js"; import { IChatContentPartRenderContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts"; import { BaseChatToolInvocationSubPart } from "./chatToolInvocationSubPart.js"; export interface IToolConfirmationConfig { allowActionId: string; skipActionId: string; allowLabel: string; skipLabel: string; partType: string; subtitle?: string; } type AbstractToolPrimaryAction = IChatConfirmationButton<(() => void)> | Separator; /** * Base class for a tool confirmation. * * note that implementors MUST call render() after they construct. */ export declare abstract class AbstractToolConfirmationSubPart extends BaseChatToolInvocationSubPart { protected readonly toolInvocation: IChatToolInvocation; protected readonly context: IChatContentPartRenderContext; protected readonly instantiationService: IInstantiationService; protected readonly keybindingService: IKeybindingService; protected readonly contextKeyService: IContextKeyService; protected readonly chatWidgetService: IChatWidgetService; protected readonly languageModelToolsService: ILanguageModelToolsService; domNode: HTMLElement; constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, instantiationService: IInstantiationService, keybindingService: IKeybindingService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, languageModelToolsService: ILanguageModelToolsService); protected render(config: IToolConfirmationConfig): void; protected confirmWith(toolInvocation: IChatToolInvocation, reason: ConfirmedReason): void; protected additionalPrimaryActions(): AbstractToolPrimaryAction[]; protected abstract createContentElement(): HTMLElement | string; protected abstract getTitle(): string; } export {};