import { resolveA2ACallerAuth } from "../a2a/caller-auth.js"; import { A2AClient } from "../a2a/client.js"; import { resolveRemoteAgentToken } from "../a2a/remote-agent-auth.js"; import { type PeerCapabilities } from "./agent-capabilities.js"; import type { DiscoveredAgent } from "./agent-discovery.js"; export interface PeerProbeResult { url: string; reachable: boolean; cardStatus?: "reachable" | "auth-rejected" | "no-json-rpc"; name?: string; description?: string; securitySchemes?: string[]; authorized?: boolean; authError?: string; publicSkills?: number; error?: string; } export interface PeerProbeDeps { loadCapabilities: (agent: DiscoveredAgent, options?: { authenticate?: boolean; }) => Promise; resolveCallerAuth: typeof resolveA2ACallerAuth; resolveRemoteAgentToken: typeof resolveRemoteAgentToken; fetch: typeof fetch; createClient: (baseUrl: string, apiKey?: string, options?: { requestTimeoutMs?: number; fallbackApiKeys?: string[]; cardUrl?: string; }) => Pick; } export declare function probePeerAgent(agent: DiscoveredAgent, deps?: PeerProbeDeps, options?: { verifyAuth?: boolean; }): Promise; export declare function probeAllPeerAgents(agents: DiscoveredAgent[], deps?: PeerProbeDeps): Promise>;