import { ContractNames } from '@etherspot/contracts'; import { Observable } from 'rxjs'; import { ObjectSubject, Service } from '../common'; import { ContractAddresses } from '../contract'; import { NetworkNames } from './constants'; import { Network, NetworkOptions } from './interfaces'; export declare class NetworkService extends Service { private options; readonly network$: ObjectSubject; readonly chainId$: Observable; readonly defaultNetwork: Network; readonly supportedNetworks: Network[]; readonly externalContractAddresses: Map; constructor(options: NetworkOptions, defaultNetworkName?: NetworkNames); get network(): Network; get chainId(): number; useDefaultNetwork(): void; switchNetwork(networkName: NetworkNames): void; isNetworkNameSupported(networkName: string): boolean; setExternalContractAddresses(contractName: string, addresses: ContractAddresses): void; getExternalContractAddress(contractName: string): string; getInternalContractAddress(contractName: ContractNames): string; }