import type { WireChainsResponse } from './wire.js'; export type CatalogToken = { symbol: string; address: string; decimals: number; }; export type ChainInfo = { name: string; testnet: boolean; supportedTokens: 'all' | CatalogToken[]; wrappedNativeToken?: CatalogToken; }; export type ChainInfoMap = Record; /** * Read-only view over the chain facts returned by `GET /chains`. Built once per * client (fetched lazily) and read synchronously thereafter. */ export declare class ChainCatalog { private readonly chains; constructor(chains: ChainInfoMap); getSupportedChainIds(): number[]; isSupported(chainId: number): boolean; getChainInfo(chainId: number): ChainInfo | undefined; /** * Whether the chain is a testnet, per the orchestrator's `/chains`. Uses the * catalog's own flag so it is authoritative for every supported chain * (including non-EVM and chains newer than the SDK's viem), rather than * viem's local chain list. */ isTestnet(chainId: number): boolean; /** The wrapped-native (e.g. WETH) token for the chain, if advertised. */ getWrappedNativeToken(chainId: number): CatalogToken | undefined; getSupportedTokens(chainId: number): 'all' | CatalogToken[] | undefined; } export declare function parseChains(json: WireChainsResponse): ChainInfoMap; //# sourceMappingURL=chain-catalog.d.ts.map