import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable"; import { ICodeEditor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser"; import { IDocumentDiff } from "../../../../../editor/common/diff/documentDiffProvider.js"; import { DetailedLineRangeMapping } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/rangeMapping"; import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model"; import { IAccessibilitySignalService } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service"; import { IModifiedFileEntry, IModifiedFileEntryChangeHunk, IModifiedFileEntryEditorIntegration } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService"; import { IChatEditingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService.service"; import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service"; import { IChatEditingExplanationModelManager } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.service"; import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service"; import { IViewsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service"; export interface IDocumentDiff2 extends IDocumentDiff { originalModel: ITextModel; modifiedModel: ITextModel; keep(changes: DetailedLineRangeMapping): Promise; undo(changes: DetailedLineRangeMapping): Promise; } export declare class ChatEditingCodeEditorIntegration implements IModifiedFileEntryEditorIntegration { private readonly _entry; private readonly _editor; private readonly _editorService; private readonly _accessibilitySignalsService; private readonly _explanationModelManager; private readonly _chatWidgetService; private readonly _viewsService; private static readonly _diffLineDecorationData; private readonly _currentIndex; readonly currentIndex: IObservable; private readonly _store; private readonly _diffLineDecorations; private readonly _diffVisualDecorations; private readonly _diffHunksRenderStore; private readonly _diffHunkWidgetPool; private readonly _diffHunkWidgets; private _viewZones; private readonly _accessibleDiffViewVisible; constructor(_entry: IModifiedFileEntry, _editor: ICodeEditor, documentDiffInfo: IObservable, renderDiffImmediately: boolean, _editorService: IEditorService, _accessibilitySignalsService: IAccessibilitySignalService, contextKeyService: IContextKeyService, instantiationService: IInstantiationService, _chatEditingService: IChatEditingService, _explanationModelManager: IChatEditingExplanationModelManager, _chatWidgetService: IChatWidgetService, _viewsService: IViewsService); dispose(): void; private _clear; private _clearDiffRendering; private _updateDiffRendering; enableAccessibleDiffView(): void; reveal(firstOrLast: boolean, preserveFocus?: boolean): void; next(wrap: boolean): boolean; previous(wrap: boolean): boolean; private _reveal; private _findClosestWidget; rejectNearestChange(closestWidget?: IModifiedFileEntryChangeHunk): Promise; acceptNearestChange(closestWidget?: IModifiedFileEntryChangeHunk): Promise; toggleDiff(widget: IModifiedFileEntryChangeHunk | undefined, show?: boolean): Promise; }