public interface IGatewayRegistryService { Task RegisterAsync(Guid siteId, RegisterGatewayRequest req); Task GetByIdAsync(Guid id); Task> ListBySiteAsync(Guid siteId, string? department); Task RecordHeartbeatAsync(Guid gatewayId, GatewayHeartbeatRequest req, string? authenticatedGatewayId); Task MarkOfflineAsync(Guid gatewayId); }