import type { ResolvedMcpServer } from '../types.js'; export interface ProbedTool { name: string; description: string; /** Characters of the JSON the client has to hold for this tool. */ characters: number; } export interface ProbeResult { server: string; ok: boolean; tools: ProbedTool[]; /** Characters of the whole tool list as the client receives it. */ characters: number; error?: string; skipped?: string; } /** Rough token estimate: MCP tool definitions are JSON, which averages about four characters per token. */ export declare function estimateTokens(characters: number): number; /** * Connect to an MCP server and read its tool list. * * Used by `agents mcp budget` to show what each server costs in context before * an agent ever starts. Servers that still carry `${VAR}` placeholders are * skipped rather than started with a broken value. */ export declare function probeServerTools(server: ResolvedMcpServer, timeoutMs?: number): Promise;