import { BaseContract } from "../abstracts"; import { ITransactionRequestConfig, ITransactionReceipt, ITransactionData, IBlock, IBlockWithTransaction, IJsonRpcRequestPayload, IJsonRpcResponse, ITransactionWriteResult } from "../interfaces"; import { Logger } from "../utils"; export declare abstract class BaseWeb3Client { logger: Logger; constructor(logger: Logger); abstract getContract(address: string, abi: any): BaseContract; abstract read(config: ITransactionRequestConfig): Promise; abstract write(config: ITransactionRequestConfig): ITransactionWriteResult; abstract getGasPrice(): Promise; abstract estimateGas(config: ITransactionRequestConfig): Promise; abstract getChainId(): Promise; abstract getTransactionCount(address: string, blockNumber: any): Promise; abstract getTransaction(transactionHash: string): Promise; abstract getTransactionReceipt(transactionHash: string): Promise; abstract getBlock(blockHashOrBlockNumber: any): Promise; abstract getBlockWithTransaction(blockHashOrBlockNumber: any): Promise; getRootHash?(startBlock: number, endBlock: number): Promise; abstract sendRPCRequest(request: IJsonRpcRequestPayload): Promise; abstract encodeParameters(params: any[], types: any[]): string; abstract decodeParameters(hexString: string, types: any[]): any[]; abstract etheriumSha3(...value: any[]): string; }