import { EditorView } from '@codemirror/view';
import { DiffType } from 'api-smart-diff';
import { DiffData, DiffCoordinator, NavigationOptions, NavigationAPI, MergedDocument } from './types';
import { DiffPath } from './utils/path';
/** Implementation of the DiffCoordinator (internal) */
declare class DiffCoordinatorImpl implements DiffCoordinator {
    private _beforeView;
    private _afterView;
    private _navigation;
    private _diffData;
    constructor(beforeView: EditorView, afterView: EditorView, diffData: DiffData, merged?: MergedDocument | null);
    get beforeView(): EditorView;
    get afterView(): EditorView;
    get navigation(): NavigationAPI;
    goToPath(path: DiffPath, options?: NavigationOptions): void;
    goToNextChange(...types: DiffType[]): string | null;
    goToPrevChange(...types: DiffType[]): string | null;
    expandAll(): void;
    collapseAll(): void;
    togglePath(path: DiffPath): void;
    updateDiffData(newData: DiffData, merged?: MergedDocument): void;
    destroy(): void;
    private collectBlockIds;
}
/** Create a coordinator for a diff pair (internal) */
export declare function createCoordinator(beforeView: EditorView, afterView: EditorView, diffData: DiffData, merged?: MergedDocument | null): DiffCoordinator;
/** Unfold all folded ranges in a single editor view */
export declare function unfoldAllInView(view: EditorView): void;
/** Fold all foldable ranges in a single editor view */
export declare function foldAllInView(view: EditorView): void;
export { DiffCoordinatorImpl };
