import { EditorView } from '@codemirror/view'; export type { HeightPadding } from './height-padding'; export { HEIGHT_THRESHOLD, heightPaddingField, heightPadTheme, mapToPaddings, paddingsEqual, setHeightPaddingEffect, } from './height-padding'; /** * Sets up height synchronization between two side-by-side editors. * * For each visible line, compares the visual height in both editors. * If one side is taller (due to word wrapping), inserts an invisible * padding widget on the shorter side to equalize the height. * * Maintains a persistent padding map so that paddings computed for * lines that later scroll out of view are preserved. On container * resize, performs a full reset since word-wrap changes invalidate * all previously measured heights. * * @param beforeView - The before (left) editor * @param afterView - The after (right) editor * @returns HeightSyncHandle with reEqualize and destroy methods */ export interface HeightSyncHandle { /** Force immediate re-measurement and equalization */ reEqualize(): void; /** Cleanup and stop syncing */ destroy(): void; } export declare function setupHeightSync(beforeView: EditorView, afterView: EditorView): HeightSyncHandle;