import { Extension, StateField } from '@codemirror/state'; import { DecorationSet, EditorView, ViewPlugin, ViewUpdate } from '@codemirror/view'; import { LineMapping } from '../types'; /** Line height in pixels - must be consistent across all elements */ export declare const LINE_HEIGHT_PX = 20; /** Effect to set line mappings */ export declare const setLineMappingsEffect: import('@codemirror/state').StateEffectType; /** Effect to set which side this editor represents */ export declare const setEditorSideEffect: import('@codemirror/state').StateEffectType<"before" | "after" | "unified">; /** Effect to set word diff mode (affects how modified lines are displayed) */ export declare const setWordDiffModeEffect: import('@codemirror/state').StateEffectType<"word" | "char" | "none">; /** State field to track line mappings */ export declare const lineMappingsField: StateField<{ mappings: LineMapping[]; side: "before" | "after" | "unified"; wordDiffMode: "word" | "char" | "none"; }>; /** Check if a line is a spacer based on mappings and side */ declare function isSpacerLine(lineNum: number, mappings: LineMapping[], side: "before" | "after" | "unified"): boolean; /** Build decorations based on line mappings */ declare function buildAlignedDecorations(view: EditorView): DecorationSet; /** View plugin for aligned decorations */ declare const alignedDecorationsPlugin: ViewPlugin<{ decorations: DecorationSet; update(update: ViewUpdate): void; }, undefined>; /** Theme for aligned line decorations */ export declare const alignedDecorationsTheme: Extension; /** Create aligned decorations extension */ export declare function alignedDecorations(): Extension; export { buildAlignedDecorations, alignedDecorationsPlugin, isSpacerLine };