import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { IResolvedTextFileEditorModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles"; import { ITextFileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service"; import { Disposable, IReference } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { DiffAlgorithmName } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker"; import { IEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/editorWorker.service"; import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service"; import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model"; import { QuickDiff, QuickDiffChange, QuickDiffResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/quickDiff"; import { IQuickDiffService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/quickDiff.service"; import { ISCMService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/common/scm.service"; import { ISplice } from "@codingame/monaco-vscode-api/vscode/vs/base/common/sequence"; import { IDiffEditorModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/editorCommon"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { IProgressService } from "@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress.service"; import { IChatEditingService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService.service"; import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service"; import { IQuickDiffModelService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/scm/browser/quickDiffModel.service"; export interface QuickDiffModelOptions { readonly algorithm: DiffAlgorithmName; readonly maxComputationTimeMs?: number; } export declare class QuickDiffModelService implements IQuickDiffModelService { private readonly instantiationService; private readonly textFileService; private readonly uriIdentityService; _serviceBrand: undefined; private readonly _references; constructor(instantiationService: IInstantiationService, textFileService: ITextFileService, uriIdentityService: IUriIdentityService); createQuickDiffModelReference(resource: URI, options?: QuickDiffModelOptions): IReference | undefined; } export declare class QuickDiffModel extends Disposable { private readonly options; private readonly scmService; private readonly quickDiffService; private readonly editorWorkerService; private readonly configurationService; private readonly textModelResolverService; private readonly _chatEditingService; private readonly progressService; private readonly environmentService; private readonly _model; private readonly _originalEditorModels; private readonly _originalEditorModelsDisposables; get originalTextModels(): Iterable; private _disposed; private _quickDiffs; private _quickDiffsPromise?; private _diffDelayer; private readonly _onDidChange; readonly onDidChange: Event<{ changes: QuickDiffChange[]; diff: ISplice[]; }>; private _allChanges; get allChanges(): QuickDiffChange[]; private _changes; get changes(): QuickDiffChange[]; /** * Map of quick diff name to the index of the change in `this.changes` */ private _quickDiffChanges; get quickDiffChanges(): Map; private readonly _repositoryDisposables; constructor(textFileModel: IResolvedTextFileEditorModel, options: QuickDiffModelOptions, scmService: ISCMService, quickDiffService: IQuickDiffService, editorWorkerService: IEditorWorkerService, configurationService: IConfigurationService, textModelResolverService: ITextModelService, _chatEditingService: IChatEditingService, progressService: IProgressService, environmentService: IWorkbenchEnvironmentService); get quickDiffs(): readonly QuickDiff[]; getQuickDiffResults(): QuickDiffResult[]; getDiffEditorModel(originalUri: URI): IDiffEditorModel | undefined; private onDidAddRepository; private triggerDiff; private setChanges; private diff; private _diff; private getQuickDiffsPromise; private getOriginalResource; findNextClosestChange(lineNumber: number, inclusive?: boolean, providerId?: string): number; findPreviousClosestChange(lineNumber: number, inclusive?: boolean, providerId?: string): number; dispose(): void; }