namespace SolutionErp.Application.Common.Interfaces;

// Abstraction for pushing real-time events to connected clients. The SignalR
// impl lives in Api (hub + client dispatch); Infrastructure uses this interface
// without depending on ASP.NET Core hub types.
public interface IRealtimeNotifier
{
    // Push a payload to a specific user's channel. Fire-and-forget semantics —
    // delivery is best-effort, callers should not block a transaction on it.
    Task PushToUserAsync(Guid userId, string eventName, object payload, CancellationToken ct = default);
}
