import { Address, GetContractReturnType, PublicClient, WalletClient } from 'viem'; import { Multicall } from '../multicall/multicall'; import { iMulticall3Abi } from './abis/viemAbis'; import { AMM } from './amm'; import { DepositBoxFactoryContract } from './deposit-box-factory'; import { ERC20 } from './erc20'; import { Explorer } from './explorer'; import { MarketContract } from './market'; import { RouterContract } from './router'; import { MarketHub } from './market-hub'; export declare class ContractsFactory { private rpcClient; private multicallContract; private RPC_URLs; constructor(rpcUrls: string[]); getCachedMulticall(address: Address, client: PublicClient): Multicall; clearMulticallCache(): void; getProviderUrls(): string[]; private createRpcClientWithTransport; getRpcHttpTransport(): import("viem").FallbackTransport[]>; private createRpcClient; getRpcClient(): PublicClient; getRpcClientAndMulticall(): { client: PublicClient; multicall: Multicall | undefined; }; getRouterContract(address: Address): RouterContract; getDepositBoxFactoryContract(address: Address): DepositBoxFactoryContract; getExplorerContract(address: Address, walletClient?: WalletClient): Explorer; getMarketContract(address: Address, walletClient?: WalletClient): MarketContract; getMarketHubContract(address: Address, walletClient?: WalletClient): MarketHub; getAmmContract(address: Address, walletClient?: WalletClient): AMM; getERC20Contract(address: Address, walletClient?: WalletClient): ERC20; getMulticall3Contract(address: Address): GetContractReturnType; }