// Copyright (c) 2025 TerraByte Inc. // // Defines a generic interface for any operation that can result in a merge // conflict, such as a pull or a stash apply. This allows the conflict // resolution UI to be agnostic to the source of the conflict. using Terra.Arbitrator.Promises; using System.Collections.Generic; namespace Terra.Arbitrator.Services { /// /// Provides a standardized way to handle different types of merge conflicts. /// public interface IConflictSource { public string MineLabel { get; } public string TheirsLabel { get; } /// /// Executes the logic to resolve the conflicts based on the user's choices. /// /// The list of files and their chosen resolution. /// A promise that resolves with a success message or rejects with an error. public IPromise Resolve(List resolutions); } }