using ZB.MOM.WW.MxGateway.Contracts.Proto;

namespace ZB.MOM.WW.MxGateway.Server.Dashboard.Hubs;

/// <summary>
/// Fan-out point for MxEvents that should be mirrored to dashboard
/// SignalR clients subscribed to a session's events group. Implementations
/// must never throw — broadcast failures are best-effort and must not
/// disrupt the source gRPC stream.
/// </summary>
public interface IDashboardEventBroadcaster
{
    void Publish(string sessionId, MxEvent mxEvent);
}
