import { Disposable, LRUCache } from '@opensumi/ide-core-common'; import * as monaco from '@opensumi/ide-monaco'; import { ICacheDocumentMergeConflict, IDocumentMergeConflictDescriptor, IMergeRegion } from './types'; export interface IConflictCache { id: string; range: monaco.Range; text: string; isResolved: boolean; } export declare class TextLine { lineNumber: number; text: string; range: monaco.Range; rangeIncludingLineBreak: monaco.Range; firstNonWhitespaceCharacterIndex: number; isEmptyOrWhitespace: boolean; constructor(document: monaco.editor.ITextModel, line: number); } export declare class MergeConflictParser extends Disposable { cache: LRUCache; private _conflictTextCaches; private _conflictRangeCaches; private static createCacheKey; scanDocument(document: monaco.editor.ITextModel): DocumentMergeConflict[]; getConflictText(uri: string): string | undefined; getAllConflictsByUri(uri: string): IConflictCache[] | undefined; getAllConflicts(): Map; setConflictResolved(uri: string, id: string): void; deleteConflictText(uri: string): void; dispose(): void; } export declare class DocumentMergeConflict implements ICacheDocumentMergeConflict { /** * full range of the conflict, including header, splitter, footer */ range: monaco.Range; current: IMergeRegion; incoming: IMergeRegion; commonAncestors: IMergeRegion[]; splitter: monaco.Range; constructor(descriptor: IDocumentMergeConflictDescriptor); } //# sourceMappingURL=conflict-parser.d.ts.map