/** MCP server configuration (matches .mcp.json format) */
export interface McpServerConfig {
    command?: string;
    args?: string[];
    env?: Record<string, string>;
    cwd?: string;
    url?: string;
    headers?: Record<string, string>;
}
/** MCP config file format */
export interface McpConfigFile {
    mcpServers: Record<string, McpServerConfig>;
}
/** JSON-RPC 2.0 request */
export interface JsonRpcRequest {
    jsonrpc: '2.0';
    id: number;
    method: string;
    params?: Record<string, unknown>;
}
/** JSON-RPC 2.0 response */
export interface JsonRpcResponse {
    jsonrpc: '2.0';
    id: number;
    result?: unknown;
    error?: {
        code: number;
        message: string;
        data?: unknown;
    };
}
/** JSON-RPC 2.0 notification (no id, no response expected) */
export interface JsonRpcNotification {
    jsonrpc: '2.0';
    method: string;
    params?: Record<string, unknown>;
}
/** MCP tool definition from tools/list */
export interface McpToolDef {
    name: string;
    description?: string;
    inputSchema: Record<string, unknown>;
}
/** MCP tool call result content block */
export interface McpContentBlock {
    type: 'text' | 'image' | 'resource';
    text?: string;
    data?: string;
    mimeType?: string;
}
/** MCP tool call result */
export interface McpToolResult {
    content: McpContentBlock[];
    isError?: boolean;
}
/** Cached summary + content hash for a single MCP tool */
export interface McpToolDocCacheEntry {
    hash: string;
    summary: string;
}
/** Per-server cache file: toolName → entry */
export type McpToolDocCache = Record<string, McpToolDocCacheEntry>;
//# sourceMappingURL=mcp-types.d.ts.map