using System; namespace QuanTAlib; public sealed class TValueEventArgs : EventArgs { public TValue Value { get; init; } public bool IsNew { get; init; } } public delegate void TValuePublishedHandler(object? sender, TValueEventArgs args); /// /// Interface for objects that publish TValue updates. /// public interface ITValuePublisher { /// /// Event triggered when a new TValue is available. /// event TValuePublishedHandler? Pub; }