import type { TinyBig } from "../shared/tinyBig/tinyBig"; import type { BlockResponse, BlockTag } from "../types/Block.types"; import type { Filter, FilterByBlockHash } from "../types/Filter.types"; import type { Network } from "../types/Network.types"; import type { Log, TransactionReceipt, TransactionRequest, TransactionResponse } from "../types/Transaction.types"; export declare abstract class BaseProvider { abstract selectRpcUrl(): string; abstract post(body: Record): Promise; readonly _rpcUrls: string[]; protected _post: (body: Record) => Promise; constructor(rpcUrls: string[]); getNetwork(): Promise; getBlockNumber(): Promise; getTransaction(transactionHash: string): Promise; getTransactionReceipt(transactionHash: string): Promise; getTransactionCount(address: string, blockTag?: BlockTag): Promise; getBlock(timeFrame?: BlockTag, returnTransactionObjects?: boolean): Promise; getGasPrice(): Promise; getBalance(address: string, blockTag?: BlockTag): Promise; getCode(address: string, blockTag?: BlockTag): Promise; estimateGas(transaction: TransactionRequest): Promise; getLogs(filter: Filter | FilterByBlockHash): Promise>; call(transaction: TransactionRequest, blockTag?: BlockTag): Promise; }