import { type CSSProperties } from "react"; import type { OpcodeStep } from "../types.js"; export interface OpcodeViewerClassNames { root?: string; header?: string; legend?: string; table?: string; row?: string; detail?: string; loadMore?: string; filterInput?: string; } export interface OpcodeViewerProps { /** The opcode trace, typically from `TraceResult.opcodes`. */ steps: OpcodeStep[]; /** Optional click handler — fires with the step index and step. */ onSelectStep?: (index: number, step: OpcodeStep) => void; /** Page size for incremental "Load more". Default 500. */ rowsPerPage?: number; /** Hide the header (title + step count + filter input). */ hideHeader?: boolean; /** Hide the legend strip. */ hideLegend?: boolean; /** Per-slot class names for theming. */ classNames?: OpcodeViewerClassNames; /** Inline style on the root element. */ style?: CSSProperties; /** className on the root. */ className?: string; } /** * Tabular opcode-trace viewer with filter, expandable per-row stack/memory/ * storage detail, and incremental pagination for large traces. * * The component is fully controlled by its `steps` prop — no fetching, no * external state. Headless theming via `classNames` + `style` + `className`. */ export declare function OpcodeViewer({ steps, onSelectStep, rowsPerPage, hideHeader, hideLegend, classNames, style, className, }: OpcodeViewerProps): React.JSX.Element; export { classifyOpcode, getOpcodeColor, isExpensiveOp, OPCODE_CATEGORY_COLORS, type OpcodeCategory, } from "./opcodeClassify.js"; //# sourceMappingURL=OpcodeViewer.d.ts.map