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 };