namespace ZB.MOM.WW.OtOpcUa.Driver.Historian.Wonderware.Backend
{
    /// <summary>
    ///     Per-event outcome from <see cref="IAlarmHistorianWriteBackend.WriteBatchAsync"/>.
    ///     Sidecar-local twin of <c>Core.AlarmHistorian.HistorianWriteOutcome</c> (the
    ///     sidecar runs net48 and cannot reference the net10 Core project; the IPC
    ///     contract narrows this to <c>bool</c> per slot, so the lmxopcua-side consumer
    ///     widens that back into the trinary outcome at the IPC boundary in PR B.4).
    /// </summary>
    public enum AlarmHistorianWriteOutcome
    {
        /// <summary>Event accepted by the historian. Drop from the store-and-forward queue.</summary>
        Ack,
        /// <summary>Transient failure (server busy, disconnected, timeout). Leave queued; retry on next drain tick.</summary>
        RetryPlease,
        /// <summary>Permanent failure (malformed event, unrecoverable SDK error). Move to dead-letter on the lmxopcua side.</summary>
        PermanentFail,
    }
}
