import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IObservable, ITransaction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable"; import { Range } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { INotificationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service"; import { MergeEditorModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel"; import { InputNumber, ModifiedBaseRange, ModifiedBaseRangeState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange"; import { BaseCodeEditorView } from "./editors/baseCodeEditorView.js"; import { CodeEditorView } from "./editors/codeEditorView.js"; import { InputCodeEditorView } from "./editors/inputCodeEditorView.js"; import { ResultCodeEditorView } from "./editors/resultCodeEditorView.js"; export declare class MergeEditorViewModel extends Disposable { readonly model: MergeEditorModel; readonly inputCodeEditorView1: InputCodeEditorView; readonly inputCodeEditorView2: InputCodeEditorView; readonly resultCodeEditorView: ResultCodeEditorView; readonly baseCodeEditorView: IObservable; readonly showNonConflictingChanges: IObservable; private readonly configurationService; private readonly notificationService; private readonly manuallySetActiveModifiedBaseRange; private readonly attachedHistory; constructor(model: MergeEditorModel, inputCodeEditorView1: InputCodeEditorView, inputCodeEditorView2: InputCodeEditorView, resultCodeEditorView: ResultCodeEditorView, baseCodeEditorView: IObservable, showNonConflictingChanges: IObservable, configurationService: IConfigurationService, notificationService: INotificationService); readonly shouldUseAppendInsteadOfAccept: IObservable; private counter; private readonly lastFocusedEditor; readonly baseShowDiffAgainst: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").IObservableWithChange<1 | 2 | undefined, void>; /** * Returns an observable that tracks which editor type is currently focused */ readonly focusedEditorType: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").IObservableWithChange; readonly selectionInBase: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").IObservableWithChange<{ rangesInBase: Range[]; sourceEditor: CodeEditorView; } | undefined, void>; private getRangeOfModifiedBaseRange; readonly activeModifiedBaseRange: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").IObservableWithChange; setActiveModifiedBaseRange(range: ModifiedBaseRange | undefined, tx: ITransaction): void; setState(baseRange: ModifiedBaseRange, state: ModifiedBaseRangeState, tx: ITransaction, inputNumber: InputNumber): void; private goToConflict; goToNextModifiedBaseRange(predicate: (m: ModifiedBaseRange) => boolean): void; goToPreviousModifiedBaseRange(predicate: (m: ModifiedBaseRange) => boolean): void; toggleActiveConflict(inputNumber: 1 | 2): void; acceptAll(inputNumber: 1 | 2): void; } export type MergeEditorType = "input1" | "input2" | "result" | "base";