import * as vscode from 'vscode' ; export interface IMergeRegion { name : string ; header : vscode . Range ; content : vscode . Range ; decoratorContent : vscode . Range ; } export const enum CommitType { Current , Incoming , Both } export interface IExtensionConfiguration { enableCodeLens : boolean ; enableDecorations : boolean ; enableEditorOverview : boolean ; } export interface IDocumentMergeConflict extends IDocumentMergeConflictDescriptor { commitEdit ( type , editor , edit ? ) : Thenable < boolean > ; applyEdit ( type , document , edit ) : void ; } export interface IDocumentMergeConflictDescriptor { range : vscode . Range ; current : IMergeRegion ; incoming : IMergeRegion ; commonAncestors : IMergeRegion [ ] ; splitter : vscode . Range ; } export interface IDocumentMergeConflictTracker { getConflicts ( document ) : PromiseLike < IDocumentMergeConflict [ ] > ; isPending ( document ) : boolean ; forget ( document ) : void ; } export interface IDocumentMergeConflictTrackerService { createTracker ( origin ) : IDocumentMergeConflictTracker ; forget ( document ) : void ; }