import { DiffFile, SplitSide, type DiffHighlighter } from '@git-diff-view/core'; import { DiffModeEnum } from '../utils/symbol.js'; import { default as DiffView } from './DiffView.svelte'; import type { Snippet } from 'svelte'; import type { HTMLAttributes } from 'svelte/elements'; export interface DiffViewProps { data?: { oldFile?: { fileName?: string | null; fileLang?: string | null; content?: string | null; }; newFile?: { fileName?: string | null; fileLang?: string | null; content?: string | null; }; hunks: string[]; }; extendData?: { oldFile?: Record; newFile?: Record; }; initialWidgetState?: { side: SplitSide; lineNumber: number; }; diffFile?: DiffFile; class?: string; style?: HTMLAttributes['style']; registerHighlighter?: Omit; diffViewMode?: DiffModeEnum; diffViewWrap?: boolean; diffViewTheme?: 'light' | 'dark'; diffViewFontSize?: number; diffViewHighlight?: boolean; diffViewAddWidget?: boolean; renderWidgetLine?: Snippet<[ { lineNumber: number; side: SplitSide; diffFile: DiffFile; onClose: () => void; } ]>; renderExtendLine?: Snippet<[ { lineNumber: number; side: SplitSide; data: T; diffFile: DiffFile; onUpdate: () => void; } ]>; onAddWidgetClick?: (lineNumber: number, side: SplitSide) => void; } export { SplitSide, DiffModeEnum }; export { DiffView };