namespace SkillManagementSL.EndPoints.Hubs; // Strongly-typed SignalR client contract for SkillHub, per CLAUDE.md's // "always Hub, never untyped Hub" rule. Every event is a "something changed, refetch" // ping, not a data carrier — the FE re-calls its normal GetEmployeeSkillListByEmployeeId / // GetSkillMatrixView load on receipt, so the push payload stays minimal and can never drift out // of sync with what a real reload would compute. Mirrors WiSL.EndPoints.Hubs.IWiHubClient. public interface ISkillHubClient { Task ReceiveProfileChanged(int employeeId, int skillId); Task ReceiveMatrixChanged(int clientId); }