import { type CSSProperties } from "react"; export interface SourceViewerClassNames { root?: string; header?: string; body?: string; line?: string; highlightedLine?: string; gutter?: string; code?: string; } export interface SourceViewerProps { /** The full source text. Split on `\n` for line numbering. */ source: string; /** * 1-indexed line to highlight (matches the convention used by Solidity * source maps and most code editors). Pass `null` or `undefined` for no * highlight. Out-of-range values are tolerated — the highlight simply * doesn't render. */ highlightLine?: number | null; /** * Optional language label shown in the header. Purely decorative — there * is no client-side syntax highlighting (kept dependency-free). */ language?: string; /** Optional file path or title for the header. */ filename?: string; /** Hide the header strip entirely. */ hideHeader?: boolean; /** Hide the line-number gutter. */ hideLineNumbers?: boolean; /** * When the highlight line is set, scroll it into view on mount and on * subsequent `highlightLine` changes. Defaults to true. */ scrollToHighlight?: boolean; /** * Max body height in px before the inner panel becomes scrollable. * Default 600. */ maxHeight?: number; /** Per-slot class names for theming. */ classNames?: SourceViewerClassNames; /** Inline style on the root element. */ style?: CSSProperties; /** className on the root. */ className?: string; } /** * Data-agnostic source-code viewer with line numbers and a single highlighted * line. Pairs with `StepDebugger` / `FrameDetailPanel` — pass the source text * resolved by a `SourceLocation` lookup, and the line to highlight. * * Intentionally dependency-free: no syntax highlighter, no editor library. * Consumers wanting tokenized output can wrap the `code` slot or layer * Prism/Shiki/Highlight.js on top. */ export declare function SourceViewer({ source, highlightLine, language, filename, hideHeader, hideLineNumbers, scrollToHighlight, maxHeight, classNames, style, className, }: SourceViewerProps): React.JSX.Element; //# sourceMappingURL=SourceViewer.d.ts.map