import { type CSSProperties } from "react"; import type { OpcodeStep } from "../types.js"; import type { StepDebuggerClassNames } from "./StepDebugger/types.js"; export type { StepDebuggerClassNames }; export interface StepDebuggerProps { /** The opcode trace, typically from `TraceResult.opcodes`. */ steps: OpcodeStep[]; /** Position to start at; clamped to `[0, steps.length-1]`. */ initialIndex?: number; /** Fired whenever the current step changes (including on mount). */ onStepChange?: (index: number, step: OpcodeStep) => void; /** * When true (default), the component listens for keyboard shortcuts while * focused. Arrow keys = forward/back, Home/End = ends, C/S/L = next * call/storage/log. Set false to disable. */ keyboard?: boolean; /** Per-slot class names for theming. */ classNames?: StepDebuggerClassNames; style?: CSSProperties; className?: string; } /** * Visual step-by-step opcode debugger. Owns its own navigation state via * `useOpcodeNavigation`. The component is data-agnostic — consumers who want * source-map highlighting, contract-name resolution, or stack decoding wrap * with their own enrichment hooks and pipe in via `onStepChange`. */ export declare function StepDebugger({ steps, initialIndex, onStepChange, keyboard, classNames, style, className, }: StepDebuggerProps): React.JSX.Element; //# sourceMappingURL=StepDebugger.d.ts.map