using System; using System.Threading; namespace Wabbajack.DTOs.Interventions; public interface IUserIntervention { } /// /// Defines a message that requires user interaction. The user must perform some action /// or make a choice. /// public interface IUserIntervention : IUserIntervention { /// /// The user didn't make a choice, so this action should be aborted /// void Cancel(); /// /// Whether the interaction has been handled and no longer needs attention /// bool Handled { get; } /// /// Token that can be used to trigger cancellation when Cancel() is called. /// public CancellationToken Token { get; } void SetException(Exception exception); }