namespace ZB.MOM.WW.OtOpcUa.Core.Abstractions;
///
/// Driver-agnostic value snapshot returned by and pushed
/// by . Mirrors the OPC UA DataValue
/// shape so the node-manager can pass through quality, source timestamp, and
/// server timestamp without translation.
///
///
/// Per docs/v2/plan.md decision #13 — every driver maps to the same
/// OPC UA StatusCode space; this DTO is the universal carrier.
///
/// The raw value; null when indicates Bad.
/// OPC UA status code (numeric value matches the OPC UA spec).
/// Driver-side timestamp when the value was sampled at the source. Null if unavailable.
/// Driver-side timestamp when the driver received / processed the value.
public sealed record DataValueSnapshot(
object? Value,
uint StatusCode,
DateTime? SourceTimestampUtc,
DateTime ServerTimestampUtc);