import { PromiseEvent } from '../../class/PromiseEvent'; import { TAddress } from '../../models/TAddress'; import { TEth } from '../../models/TEth'; import { RpcTypes } from '../../rpc/Rpc'; import { Web3Client } from '../Web3Client'; import { EoAccount } from '../../models/TAccount'; export declare class Web3 { client: Web3Client; eth: Web3Eth; constructor(client: Web3Client); } declare class Web3Eth { client: Web3Client; Contract: (abi: TEth.Abi.Item[], address: TEth.Address) => { options: { address: TAddress; }; methods: any; eth: Web3Eth; abi: TEth.Abi.Item[]; address: TAddress; }; accounts: Web3EthAccounts; constructor(client: Web3Client); getBlockNumber(): Promise; getBalance(address: TAddress, block?: RpcTypes.BlockNumberOrTagOrHash): Promise; getTransactionCount(address: TAddress, block?: RpcTypes.BlockNumberOrTagOrHash): Promise; getGasPrice(): Promise<{ price: bigint; base?: bigint; priority?: bigint; }>; getChainId(): number; getCode(address: TEth.Address): Promise<`0x${string}`>; sendSignedTransaction(tx: TEth.Hex): PromiseEvent; sendTransaction(tx: any): PromiseEvent; } declare class Web3EthAccounts { eth: Web3Eth; wallet: Web3EthWallet; constructor(eth: Web3Eth); } declare class Web3EthWallet { $accounts: EoAccount[]; add(key: TEth.Hex | `p1:${TEth.Hex}`): Promise; get(address: TEth.Address): EoAccount; } export {};