/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { BaseDeclarativeTool, type ToolInvocation, type ToolResult } from './tools.js'; import { type CallableTool } from '@google/genai'; import type { Config } from '../config/config.js'; type ToolParams = Record; export declare class DiscoveredMCPTool extends BaseDeclarativeTool { private readonly mcpTool; readonly serverName: string; readonly serverToolName: string; readonly parameterSchema: unknown; readonly trust?: boolean | undefined; private readonly cliConfig?; constructor(mcpTool: CallableTool, serverName: string, serverToolName: string, description: string, parameterSchema: unknown, trust?: boolean | undefined, nameOverride?: string, cliConfig?: Config | undefined); /** * @deprecated This method is no longer used as MCP tools now receive unique names during creation. * The unique name is formed as generateMcpToolName(serverName, serverToolName) in the discovery process. */ asFullyQualifiedTool(): DiscoveredMCPTool; protected createInvocation(params: ToolParams): ToolInvocation; } /** Visible for testing */ export declare function generateValidName(name: string): string; /** * Generates a valid MCP tool name that includes server and tool information * while ensuring it meets API requirements. */ export declare function generateMcpToolName(serverName: string, toolName: string): string; export {};