import { Disposable, DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { IDocumentDiff } from "../../../../../../editor/common/diff/documentDiffProvider.js"; import { DetailedLineRangeMapping } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/diff/rangeMapping"; import { TextEdit } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages"; import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { INotebookEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service"; import { NotebookCellTextModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/model/notebookCellTextModel"; import { ModifiedFileEntryState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService"; import { IChatResponseModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel"; /** * This is very closely similar to the ChatEditingModifiedDocumentEntry class. * Most of the code has been borrowed from there, as a cell is effectively a document. * Hence most of the same functionality applies. */ export declare class ChatEditingNotebookCellEntry extends Disposable { readonly notebookUri: URI; readonly cell: NotebookCellTextModel; private readonly modifiedModel; private readonly originalModel; private readonly notebookEditorService; private readonly instantiationService; get isDisposed(): boolean; get isEditFromUs(): boolean; get allEditsAreFromUs(): boolean; get diffInfo(): IObservable; private readonly _maxModifiedLineNumber; readonly maxModifiedLineNumber: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").ISettableObservable; protected readonly _stateObs: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").ISettableObservable; readonly state: IObservable; private readonly initialContent; private readonly _textModelChangeService; constructor(notebookUri: URI, cell: NotebookCellTextModel, modifiedModel: ITextModel, originalModel: ITextModel, isExternalEditInProgress: (() => boolean) | undefined, disposables: DisposableStore, notebookEditorService: INotebookEditorService, instantiationService: IInstantiationService); clearCurrentEditLineDecoration(): void; acceptAgentEdits(textEdits: TextEdit[], isLastEdits: boolean, responseModel: IChatResponseModel | undefined): Promise; revertMarkdownPreviewState(): void; keep(change: DetailedLineRangeMapping): Promise; undo(change: DetailedLineRangeMapping): Promise; }