import { IObservable, ITransaction } 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 { TextEdit } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages"; import { ILanguageService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service"; import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { IUndoRedoElement } from "@codingame/monaco-vscode-api/vscode/vs/platform/undoRedo/common/undoRedo"; import { IUndoRedoService } from "@codingame/monaco-vscode-api/vscode/vs/platform/undoRedo/common/undoRedo.service"; import { IEditorPane } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor"; import { IFilesConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service"; import { IAiEditTelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.service"; import { ICellEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon"; import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service"; import { IModifiedEntryTelemetryInfo, IModifiedFileEntry, IModifiedFileEntryEditorIntegration, ISnapshotEntry } 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"; import { AbstractChatEditingModifiedFileEntry } from "./chatEditingModifiedFileEntry.js"; interface IMultiDiffEntryDelegate { collapse: (transaction: ITransaction | undefined) => void; } /** * Represents a file that has been deleted by the chat editing session. * Unlike ChatEditingModifiedDocumentEntry, this doesn't maintain a live model * since the file no longer exists on disk. */ export declare class ChatEditingDeletedFileEntry extends AbstractChatEditingModifiedFileEntry implements IModifiedFileEntry { private readonly _multiDiffEntryDelegate; private readonly _languageId; private readonly _modelService; private readonly _languageService; readonly initialContent: string; /** * The original content before deletion, stored for diff display and potential restoration. */ private readonly _originalContent; /** * Lazily created model for the original content (for diff display). */ private _originalModel; /** * Lazily created empty model representing the deleted state (for diff display). */ private _modifiedModel; readonly originalURI: URI; readonly diffInfo: IObservable; readonly linesAdded: IObservable; readonly linesRemoved: IObservable; private readonly _changesCount; readonly changesCount: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").ISettableObservable; readonly isDeletion = true; constructor(resource: URI, originalContent: string, _multiDiffEntryDelegate: IMultiDiffEntryDelegate, telemetryInfo: IModifiedEntryTelemetryInfo, _languageId: string, _modelService: IModelService, _languageService: ILanguageService, configService: IConfigurationService, fileConfigService: IFilesConfigurationService, chatService: IChatService, fileService: IFileService, undoRedoService: IUndoRedoService, instantiationService: IInstantiationService, aiEditTelemetryService: IAiEditTelemetryService); dispose(): void; /** * Gets or creates the original model for diff display. */ private _getOrCreateOriginalModel; /** * Gets or creates an empty model representing the deleted state. */ private _getOrCreateModifiedModel; private _diffInfo; getDiffInfo(): Promise; equalsSnapshot(snapshot: ISnapshotEntry | undefined): boolean; createSnapshot(chatSessionResource: URI, requestId: string | undefined, undoStop: string | undefined): ISnapshotEntry; restoreFromSnapshot(snapshot: ISnapshotEntry, restoreToDisk?: boolean): Promise; resetToInitialContent(): Promise; resetEditTrackerToInitialContent(): Promise; protected _areOriginalAndModifiedIdentical(): Promise; protected _createUndoRedoElement(response: IChatResponseModel): IUndoRedoElement; acceptAgentEdits(_uri: URI, _edits: (TextEdit | ICellEditOperation)[], isLastEdits: boolean, _responseModel: IChatResponseModel | undefined): Promise; protected _doAccept(): Promise; protected _doReject(): Promise; protected _createEditorIntegration(_editor: IEditorPane): IModifiedFileEntryEditorIntegration; computeEditsFromSnapshots(_beforeSnapshot: string, _afterSnapshot: string): Promise<(TextEdit | ICellEditOperation)[]>; save(): Promise; revertToDisk(): Promise; } export {};