import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable"; import { BaseCodeEditorView } from "./editors/baseCodeEditorView.js"; import { IMergeEditorLayout } from "./mergeEditor.js"; import { MergeEditorViewModel } from "./viewModel.js"; import { InputCodeEditorView } from "./editors/inputCodeEditorView.js"; import { ResultCodeEditorView } from "./editors/resultCodeEditorView.js"; export declare class ScrollSynchronizer extends Disposable { private readonly viewModel; private readonly input1View; private readonly input2View; private readonly baseView; private readonly inputResultView; private readonly layout; private get model(); private readonly reentrancyBarrier; readonly updateScrolling: () => void; private get lockResultWithInputs(); private get lockBaseWithInputs(); private _isSyncing; constructor(viewModel: IObservable, input1View: InputCodeEditorView, input2View: InputCodeEditorView, baseView: IObservable, inputResultView: ResultCodeEditorView, layout: IObservable); stopSync(): void; startSync(): void; private _shouldLock; private _getMapping; private _synchronizeScrolling; }