/** * MCP Prompts for User Interaction * * Uses MCP protocol's prompts capability to request user input/approval * Works with Claude Desktop and other MCP clients that support prompts */ export interface PromptMessage { role: 'user' | 'assistant'; content: { type: 'text' | 'image'; text?: string; data?: string; mimeType?: string; }; } export interface Prompt { name: string; description?: string; arguments?: Array<{ name: string; description?: string; required?: boolean; }>; } /** * Available prompts for NCP management operations */ export declare const NCP_PROMPTS: Prompt[]; /** * Generate prompt message for MCP add confirmation * * SECURITY: Supports clipboard-based secret configuration! * User can copy config with API keys to clipboard BEFORE clicking YES. * NCP reads clipboard server-side - secrets NEVER exposed to AI. */ export declare function generateAddConfirmation(mcpName: string, command: string, args: string[], profile?: string): PromptMessage[]; /** * Generate prompt message for MCP remove confirmation */ export declare function generateRemoveConfirmation(mcpName: string, profile?: string): PromptMessage[]; /** * Generate prompt message for configuration input */ export declare function generateConfigInput(mcpName: string, configType: string, description: string): PromptMessage[]; /** * Generate prompt message for operation confirmation (confirm-before-run feature) * * Shows rich dialog with tool description, parameters, and reason for confirmation. * User can approve once, approve always (whitelist), or cancel. */ export declare function generateOperationConfirmation(toolIdentifier: string, toolDescription: string, parameters: Record, matchedPattern: string, confidence: number): PromptMessage[]; /** * Parse user response from prompt */ export declare function parseConfirmationResponse(response: string): boolean; /** * Parse operation confirmation response * Returns: 'once' | 'always' | 'cancel' */ export declare function parseOperationConfirmationResponse(response: string): 'once' | 'always' | 'cancel'; /** * Parse configuration input response */ export declare function parseConfigResponse(response: string): string; /** * Try to read and parse clipboard content for MCP configuration * Returns additional config (env vars, args) from clipboard or null if invalid * * SECURITY: This is called AFTER user clicks YES on prompt that tells them * to copy config first. It's explicit user consent, not sneaky background reading. */ export declare function tryReadClipboardConfig(): Promise<{ env?: Record; args?: string[]; } | null>; /** * Merge base config with clipboard config * Clipboard config takes precedence for env vars and can add additional args */ export declare function mergeWithClipboardConfig(baseConfig: { command: string; args?: string[]; env?: Record; }, clipboardConfig: { env?: Record; args?: string[]; } | null): { command: string; args?: string[]; env?: Record; }; //# sourceMappingURL=mcp-prompts.d.ts.map