import { EditorView } from '@codemirror/view';
import { DiffType } from 'api-smart-diff';
import { DiffBlockData } from '../diff-builder/common';
import { DiffData, DiffCoordinator, NavigationOptions, NavigationAPI } from './types';
/** Implementation of the DiffCoordinator */
declare class DiffCoordinatorImpl implements DiffCoordinator {
    private _beforeView;
    private _afterView;
    private _navigation;
    private _diffData;
    constructor(beforeView: EditorView, afterView: EditorView, diffData: DiffData);
    get beforeView(): EditorView;
    get afterView(): EditorView;
    get navigation(): NavigationAPI;
    goToBlock(blockId: string, options?: NavigationOptions): void;
    goToNextChange(filter?: DiffType[]): DiffBlockData | null;
    goToPrevChange(filter?: DiffType[]): DiffBlockData | null;
    expandAll(): void;
    collapseAll(): void;
    toggleBlock(blockId: string): void;
    updateDiffData(newData: DiffData): void;
    destroy(): void;
    private collectBlockIds;
}
/** Create a coordinator for a diff pair */
export declare function createCoordinator(beforeView: EditorView, afterView: EditorView, diffData: DiffData): DiffCoordinator;
export { DiffCoordinatorImpl };
