import { EventManager } from '../eventManager'; import type { Ethdebugger } from '../Ethdebugger'; import type { TraceManager } from '../trace/traceManager'; /** * Manages stepping through transaction execution traces in the debugger. * Handles navigation, breakpoints, and maintains the current execution state. */ export declare class DebuggerStepManager { event: EventManager; debugger: Ethdebugger; traceManager: TraceManager; currentStepIndex: number; traceLength: number; codeTraceLength: number; revertionPoint: any; currentCall: any; /** * Creates a new DebuggerStepManager instance. * Initializes step tracking and sets up event listeners for trace management. * * @param {Object} _debugger - The debugger instance * @param {Object} traceManager - The trace manager instance for accessing execution trace */ constructor(_debugger: any, traceManager: any); /** * Registers event listeners for debugger and call tree events. * Handles trace loading, call tree building, and step index changes. * Detects revert conditions and triggers appropriate warnings. */ listenToEvents(): void; /** * Triggers the stepChanged event with the current step state. * Determines if the step is at the initial position, end position, or within valid range. * * @param {number} step - The step index to trigger the event for */ triggerStepChanged(step: any): void; /** * Steps backward into the previous instruction in the trace. * In Solidity mode, resolves to the previous source code location. * * @param {boolean} solidityMode - If true, steps to previous Solidity source location; if false, steps to previous EVM instruction */ stepIntoBack(solidityMode: any): void; /** * Steps forward into the next instruction in the trace. * In Solidity mode, resolves to the next source code location. * * @param {boolean} solidityMode - If true, steps to next Solidity source location; if false, steps to next EVM instruction */ stepIntoForward(solidityMode: any): void; /** * Steps backward over the current statement, skipping into function calls. * Moves to the previous statement at the same or higher scope level. * * @param {boolean} solidityMode - If true, steps at Solidity source level; if false, steps at EVM instruction level */ stepOverBack(solidityMode: any): void; /** * Steps forward over the current statement, skipping function call details. * If at a function call, jumps to the statement after the call returns. * * @param {boolean} solidityMode - If true, steps at Solidity source level; if false, steps at EVM instruction level */ stepOverForward(solidityMode: any): void; /** * Jumps out of the current function scope to the calling context. * Moves execution to the step immediately after the current function call. * * @param {boolean} solidityMode - If true, resolves at Solidity source level; if false, at EVM instruction level */ jumpOut(solidityMode: any): void; /** * Jumps directly to a specific step in the execution trace. * * @param {number} step - The target step index to jump to */ jumpTo(step: any): void; /** * Jumps to the step where a revert/exception occurred in the transaction. * Uses the stored revertionPoint from the last detected revert. */ jumpToException(): void; /** * Jumps forward to the next breakpoint in the trace. * If no breakpoint is found ahead, stays at the current position. */ jumpNextBreakpoint(): void; /** * Jumps to the previous breakpoint in the trace. * If no breakpoint is found ahead, stays at the current position. */ jumpPreviousBreakpoint(): void; calculateFirstStep(): any; calculateCodeStepList(): any[]; calculateCodeLength(): any; nextStep(): any; previousStep(): any; resolveToReducedTrace(value: any, incr: any): any; }