import { ethers } from 'ethers'; export interface EthBridge { bridge: string; inbox: string; outbox: string; rollup: string; sequencerInbox: string; depositTimeout?: number; } export interface TokenBridge { parentCustomGateway: string; parentErc20Gateway: string; parentGatewayRouter: string; parentMultiCall: string; parentProxyAdmin: string; parentWeth: string; parentWethGateway: string; childCustomGateway: string; childErc20Gateway: string; childGatewayRouter: string; childMultiCall: string; childProxyAdmin: string; childWeth: string; childWethGateway: string; depositTimeout?: number; } export interface Teleporter { l1Teleporter: string; l2ForwarderFactory: string; } export interface UsdcAddresses { bridged: string; settlementLayer: string; rollupGateway: string; settlementLayerGateway: string; } export interface BridgeNetworkConfig { chainId: number; confirmPeriodBlocks?: number; arbSys?: string; ethBridge?: EthBridge; tokenBridge?: TokenBridge; teleporter?: Teleporter; isCustom: boolean; isTestnet?: boolean; isArbitrum?: boolean; name: string; parentChainId?: number; explorerUrl?: string; rpcs: string[]; blockTime?: number; retryableLifetimeSeconds?: number; nitroGenesisBlock?: number; nitroGenesisL1Block?: number; depositTimeout?: number; nativeCurrency?: { decimals: number; name: string; symbol: string; }; nativeToken?: string; usdcAddresses?: UsdcAddresses; } export declare const networks: { [chainId: number]: BridgeNetworkConfig; }; /** * Retrieves the network configuration based on the provided signer or provider. * * @param signerOrProvider - An instance of `ethers.Signer` or `ethers.providers.Provider`. * @returns A promise that resolves to a `Network` object corresponding to the provided signer or provider's network. * @throws An error if the network is not supported or if there is an issue retrieving the network. */ export declare function getNetworkBySignerOrProvider(signerOrProvider: ethers.Signer | ethers.providers.Provider): Promise;