import { type CSSProperties } from "react"; import type { OpcodeStep, RiskFlag, StateDiff, TraceFrame } from "../types.js"; export type FullDebuggerTabId = "trace" | "opcodes" | "state" | "risks"; export interface FullDebuggerLayoutClassNames { /** Outer wrapper. */ root?: string; /** Tab bar row. */ tabBar?: string; /** Single tab button. */ tab?: string; /** Active tab modifier (applied in addition to .tab). */ tabActive?: string; /** Content area below the tab bar. */ content?: string; /** Empty-state container shown when a tab's data is missing. */ empty?: string; } export interface FullDebuggerLayoutProps { /** Canonical call trace. Required for the "trace" tab to render meaningfully. */ trace?: TraceFrame; /** Canonical opcode steps. Required for the "opcodes" tab. */ opcodes?: OpcodeStep[]; /** State diffs. Required for the "state" tab. */ stateDiffs?: StateDiff[]; /** Risk findings. Required for the "risks" tab. */ risks?: RiskFlag[]; /** Which tab is selected on first render. Default: "trace". */ defaultTab?: FullDebuggerTabId; /** Hide specific tabs entirely (rather than show their empty state). */ hideTabs?: FullDebuggerTabId[]; /** Symbol used in CallTree and FrameDetailPanel for values. Default: "PLS". */ valueSymbol?: string; /** Per-slot class names. */ classNames?: FullDebuggerLayoutClassNames; /** Inline style on root. */ style?: CSSProperties; /** className on root. */ className?: string; } /** * One-stop tabbed debugger view that composes the SDK's primitives. Pass * whatever data you have — each tab independently renders its own empty * state when its required data is absent, so the layout is safe to drop in * even before async data has arrived. * * The "trace" tab additionally renders a `` underneath * the ``, wired to the tree's `onSelect` so clicking a frame * opens its details inline. Selection state resets when the trace changes. */ export declare function FullDebuggerLayout({ trace, opcodes, stateDiffs, risks, defaultTab, hideTabs, valueSymbol, classNames, style, className, }: FullDebuggerLayoutProps): React.JSX.Element; //# sourceMappingURL=FullDebuggerLayout.d.ts.map