import type { IWeb3ClientOptions } from '../interfaces/IWeb3Client'; import type { Web3Client } from '../Web3Client'; import { TAddress } from '../../models/TAddress'; import { TEth } from '../../models/TEth'; export declare class ClientDebugMethods { client: Web3Client; methods: IWeb3ClientOptions['debug']; constructor(client: Web3Client, methods: IWeb3ClientOptions['debug']); getTransactionTrace(hash: string): Promise; setStorageAt(address: TAddress, location: string | number | bigint, buffer: TEth.Hex): Promise; setCode(address: TAddress, buffer: TEth.Hex): Promise; /** * Mines a specified number of blocks at a given interval * @param blocks Number of blocks or amount of seconds parsed from a timespan, e.g. 1day, 5minutes, 3weeks, etc * @param intervalSeconds Default: 1 block in 1 second */ mine(blocks?: number | bigint | string, intervalSeconds?: number | bigint): Promise; setBalance(address: TAddress, amount: bigint | string): Promise; reset(params?: { forking?: { jsonRpcUrl?: any; blockNumber?: any; }; }): Promise; impersonateAccount(address: TAddress): Promise; stopImpersonatingAccount(address: TAddress): Promise; snapshot(): Promise; revert(snapId: number): Promise; setAutomine(enabled: boolean): Promise; traceCall(data: TEth.TxLike, block?: number | string | 'latest', params?: { disableMemory?: boolean; disableStack?: boolean; disableStorage?: boolean; }): Promise; private call; } export type TClientDebugTraces = { failed?: boolean; returnValue?: TEth.Hex; structLogs?: { depth: number; gas: number; gasCost: number; op: string; pc: number; memory?: string[]; stack?: string[]; }[]; };