import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation"; import { INotificationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service"; import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service"; import { IQuickInputService } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service"; import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service"; import { ElicitResult, IMcpServer, IMcpToolCallContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes"; import { IMcpElicitationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service"; import { MCP } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/modelContextProtocol"; export declare class McpElicitationService implements IMcpElicitationService { private readonly _notificationService; private readonly _quickInputService; private readonly _chatService; private readonly _openerService; readonly _serviceBrand: undefined; constructor(_notificationService: INotificationService, _quickInputService: IQuickInputService, _chatService: IChatService, _openerService: IOpenerService); elicit(server: IMcpServer, context: IMcpToolCallContext | undefined, elicitation: MCP.ElicitRequest["params"], token: CancellationToken): Promise; private _elicitForm; private _elicitUrl; private _doElicitUrl; private _doElicitForm; private _getFieldPlaceholder; private _handleEnumField; private _handleMultiEnumField; private _handleInputField; private _validateInput; private _validateString; private _validateStringFormat; private _validateNumber; /** * Converts an MCP elicitation schema into IChatQuestion[] for the carousel UI. * Returns the questions and a map from question ID to schema property name. */ private _convertSchemaToQuestions; /** * Converts carousel answers (keyed by question ID) back into the * MCP ElicitResult content format (keyed by schema property names), * coercing types as needed. */ private _convertCarouselAnswersToElicitResult; }