import { Extension, StateField } from '@codemirror/state'; import { WidgetType } from '@codemirror/view'; import { LineMapping } from '../types'; /** Data for inline word diff on a line */ export interface InlineWordDiffLine { lineNumber: number; /** The before content for this line */ beforeContent: string; /** The after content (what's displayed in the document) */ afterContent: string; } /** Effect to set inline word diff data */ export declare const setInlineWordDiffEffect: import('@codemirror/state').StateEffectType; /** State field for inline word diff data */ export declare const inlineWordDiffField: StateField; /** Widget to show removed text inline */ declare class RemovedTextWidget extends WidgetType { readonly text: string; constructor(text: string); toDOM(): HTMLElement; eq(other: WidgetType): boolean; ignoreEvent(): boolean; } /** Configuration for inline word diff */ export interface InlineWordDiffConfig { mode: "word" | "char"; } /** State field for config */ export declare const inlineWordDiffConfigField: StateField; export declare const setInlineWordDiffConfigEffect: import('@codemirror/state').StateEffectType; /** Theme for inline word diff */ export declare const inlineWordDiffTheme: Extension; /** * Build inline word diff data from unified content with beforeContentMap. */ export declare function buildInlineWordDiffLines(lines: string[], lineMap: LineMapping[], beforeContentMap: Map): InlineWordDiffLine[]; /** Create the inline word diff extension */ export declare function inlineWordDiff(config?: Partial): Extension; export { RemovedTextWidget };