namespace ScadaLink.Commons.Types.Enums;

public enum AlarmTriggerType
{
    ValueMatch,
    RangeViolation,
    RateOfChange,
    /// <summary>
    /// Multi-setpoint level alarm: monitors a single numeric attribute against
    /// up to four configurable setpoints (LoLo, Lo, Hi, HiHi). Each setpoint
    /// may carry its own priority; transitions between levels emit a fresh
    /// AlarmStateChanged with the corresponding <see cref="AlarmLevel"/>.
    /// </summary>
    HiLo,

    /// <summary>
    /// Read-only boolean C# expression evaluated on attribute updates. The
    /// trigger fires when the expression evaluates to <c>true</c>.
    /// </summary>
    Expression
}
