import { RpcTypes } from './Rpc'; import { TAbiItem } from '../types/TAbi'; import { TAddress } from '../models/TAddress'; import { TEth } from '../models/TEth'; import { DataLike } from '../utils/types'; import type { Web3Client } from '../clients/Web3Client'; type TRpcContract = { address?: TAddress; abi?: TAbiItem[]; }; type TRpcContractCallBase = { address?: TAddress; abi?: string | TAbiItem | TAbiItem[]; method?: string; params?: any[]; data?: TEth.Hex; value?: bigint; from?: TAddress; blockNumber?: DataLike | Date; }; export type TRpcContractCall = (TRpcContractCallBase & Pick) | (TRpcContractCallBase & Pick); export declare class RpcContract { client: Web3Client; private defaults?; constructor(client: Web3Client, defaults?: TRpcContract); request(req: TRpcContractCall): Promise; batch(req: TRpcContractCall[]): Promise; private getCallRequestsRaw; private getCallRequestRaw; } export {};