import type { HTMLAttributes } from "react"; /** * DiffView — a controlled, line-level text diff rendered as a semantic table * (M14 ADR D2). Runs the pure `diffLines` LCS over `oldText`/`newText`; zero * new dependency (registry stays copy-pasteable — M14 ADR D1). * * `mode="split"` (default) shows two columns — old on the left, new on the * right, aligning `del` rows on the left and `add` rows on the right; `eq` on * both. `mode="unified"` shows a single inline column with `+`/`-` prefixes. * * A11y is not color-alone: every changed row carries a TEXTUAL marker * (`+`/`-`/` `) plus `data-diff`, and the whole thing is a `` with an * sr-only `
` so screen readers announce a data table. Identical input * reads as an honest "No changes" state, never an empty table. * * */ export type DiffViewMode = "split" | "unified"; export type DiffViewProps = Omit, "children"> & { oldText: string; newText: string; /** Layout: two-column split (default) or inline unified. */ mode?: DiffViewMode; /** Column header for the old text (split) / caption context. */ oldLabel?: string; /** Column header for the new text (split) / caption context. */ newLabel?: string; }; declare const DiffView: import("react").ForwardRefExoticComponent, "children"> & { oldText: string; newText: string; /** Layout: two-column split (default) or inline unified. */ mode?: DiffViewMode; /** Column header for the old text (split) / caption context. */ oldLabel?: string; /** Column header for the new text (split) / caption context. */ newLabel?: string; } & import("react").RefAttributes>; export { DiffView };