using System;
using System.Threading;
namespace Wabbajack.DTOs.Interventions;
///
/// Defines a message that requires user interaction. The user must perform some action
/// or make a choice.
///
public interface 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);
}