import { type PublicClient } from "viem"; import { type SupportedChain } from "../types/index.js"; /** * Get (or lazily create) a viem PublicClient for the given chain. * Throws RpcConfigError if the chain has no RPC configured. */ export declare function getClient(chain: SupportedChain): PublicClient; /** * Verify the RPC endpoint actually speaks the chain we think it does. A wrong- * chain RPC would happily sign "ETH" txs against (say) a fork or BSC — values * and addresses overlap but token semantics don't, and the user would end up * sending real ETH against what they thought was a testnet. We do this on the * first live call per chain, memoize it, and throw loud if it mismatches. */ export declare function verifyChainId(chain: SupportedChain): Promise; /** Invalidate the cached clients — useful after the user re-runs setup. */ export declare function resetClients(): void;