import { Extension } from '@codemirror/state';
import { EditorView } from '@codemirror/view';
import { LineMapping } from '../types';
/** Effect to signal that fold sync should be temporarily disabled */
export declare const disableFoldSyncEffect: import('@codemirror/state').StateEffectType<boolean>;
/** Options for fold sync */
export interface FoldSyncOptions {
    /** The other editor view to sync with */
    otherView: () => EditorView | null;
    /** Line mappings for position correspondence */
    lineMap: LineMapping[];
    /** Which side this editor represents */
    side: 'before' | 'after';
}
/**
 * Creates a fold sync extension that synchronizes folding with another editor.
 */
export declare function foldSync(options: FoldSyncOptions): Extension;
/**
 * Sets up bidirectional fold sync between two editors.
 * Returns a cleanup function.
 */
export declare function setupFoldSync(beforeView: EditorView, afterView: EditorView, lineMap: LineMapping[]): () => void;
