export type DiffLineKind = "same" | "added" | "removed" | "changed"; export type DiffLine = { kind: DiffLineKind; left?: string; right?: string; }; export type DiffStats = { same: number; changed: number; added: number; removed: number; total: number; }; /** Merge adjacent removed+added pairs into changed rows. */ export declare function coalesceChangedRows(rows: DiffLine[]): DiffLine[]; /** Line-level LCS diff with changed-row coalescing. */ export declare function computeLineDiff(leftText: string, rightText: string): DiffLine[]; export type WordDiffHighlight = { text: string; highlight: boolean; }; /** Token-level diff for one side of a changed line pair. */ export declare function computeWordDiffHighlights(line: string, otherLine: string, side: "left" | "right"): WordDiffHighlight[]; /** HTML with inline word highlights for native ODT/DOCX-style diff blocks. */ export declare function buildWordDiffHtml(line: string, otherLine: string, side: "left" | "right"): string; export declare function computeDiffStats(rows: DiffLine[]): DiffStats; export declare function createDiffToolbar(stats: DiffStats): HTMLElement; export declare function renderSplitPaneDiffLines(inner: HTMLElement, rows: DiffLine[], side: "left" | "right"): void; export type SplitInlineDiffOptions = { leftLabel?: string; rightLabel?: string; exportSummary?: boolean; }; export declare function renderSplitInlineDiff(toolbarHost: HTMLElement, leftInner: HTMLElement, rightInner: HTMLElement, leftText: string, rightText: string, options?: SplitInlineDiffOptions): DiffStats; export declare function renderDocumentDiff(container: HTMLElement, leftText: string, rightText: string, labels: [string, string]): DiffStats; //# sourceMappingURL=document-diff.d.ts.map