import type { Chain } from "viem"; import type { SupportedChain, UserConfig } from "../types/index.js"; export declare const VIEM_CHAINS: Record; export declare class RpcConfigError extends Error { constructor(message: string); } /** * Reject RPC URLs that are obviously unsafe to talk to: * - non-https (http plaintext leaks your wallet query pattern to anything on * the network path) * - loopback / private / link-local hosts (RFC1918, 127/8, ::1, *.local). * Private-range URLs in a shared config are a strong indicator something * got mis-pasted (e.g. a neighbour's dev box) and we'd rather fail loud * than exfiltrate wallet addresses to an unexpected host. * Callers who intentionally want to hit a local forked node (anvil, hardhat, * etc.) can opt out with RECON_ALLOW_INSECURE_RPC=1. */ export declare function validateRpcUrl(chain: SupportedChain, url: string): void; export declare function isPrivateOrLoopbackHost(host: string): boolean; /** * Resolve the RPC URL for a given chain based on env vars (highest priority) * then the user's ~/.recon-crypto-mcp/config.json. */ export declare function resolveRpcUrl(chain: SupportedChain, userConfig: UserConfig | null): string;