import { CSSProperties, ReactNode } from 'react'; import { CodeBlockTokenType } from './codeBlock.token'; import { DiffLineType, DiffLine } from './types'; import { SyntaxToken } from './utils'; export type LineCounter = { left: number; right: number; }; export declare const EmptyGutterCell: React.FC<{ width: string | number | undefined; }>; type LineNumberGutterProps = { lineIndex: number; width: string | number | undefined; color: string | undefined; style?: React.CSSProperties; }; export declare const LineNumberGutter: React.FC; export type TokenizedCodeLineProps = { tokens: SyntaxToken[]; getTokenColor: (type: string) => string; paddingTop?: string | number; paddingBottom?: string | number; paddingLeft?: string | number; paddingRight?: string | number; whiteSpace?: 'pre-wrap' | 'pre'; }; export declare const TokenizedCodeLine: React.FC; export type CodeLineWrapperProps = { children: ReactNode; style?: React.CSSProperties; lineIndex?: number; }; export declare const CodeLineWrapper: React.FC; export type PreElementProps = { children: ReactNode; fontFamily: string | undefined; fontSize: string | number | undefined; lineHeight: string | number | undefined; id?: string; }; export declare const PreElement: React.FC; export type DiffRowRenderContext = { shouldShowLineNumbers: boolean; tokens: CodeBlockTokenType; tokenizeLine: (line: string) => SyntaxToken[]; getTokenColor: (type: string) => string; getDiffGutterStyle: (lineType?: DiffLineType) => CSSProperties; getDiffLineBackground: (lineType?: DiffLineType) => CSSProperties; }; /** * One full-width row: left pane + right pane in a single flex row so both * sides always share the same row height. */ export declare const renderDiffUnifiedRowPair: (leftLine: DiffLine | undefined, rightLine: DiffLine | undefined, rowKey: string, counters: LineCounter, ctx: DiffRowRenderContext, tokens: CodeBlockTokenType) => ReactNode; export {};