namespace Luna.Channels.Abstractions; /// /// Event arguments for channel connection state changes /// public class ChannelConnectionEventArgs : EventArgs { /// /// The channel whose connection state changed /// public required IChannel Channel { get; init; } /// /// The previous connection state /// public bool WasConnected { get; init; } /// /// The new connection state /// public bool IsConnected { get; init; } /// /// Optional error message if connection failed /// public string? ErrorMessage { get; init; } }