using Newtonsoft.Json; namespace Questionable.Controller.Conditions; [JsonConverter(typeof(StopConditionConverter))] internal abstract class StopCondition { public EStopConditionMode Mode { get; set; } = EStopConditionMode.Stop; public abstract bool IsSession { get; } public abstract EStopConditionType Type { get; } public abstract bool Evaluate(StopEvaluationContext context); public abstract string GetDescription(); }