using EntitlementDAL.DTOs; using GB5Shared.DTO.Framework.Login; namespace EntitlementBLL.Interfaces; public interface ILicenseBLL { Task> GetSeatsAsync(int subscriptionId, LoginDTO login, CancellationToken ct); /// Client-facing, ownership-safe equivalent of GetSeatsAsync — resolves the caller's /// OWN subscription from clientId first (never accepts a SubscriptionId from the caller), so a /// client can never read another client's seat counts. Task> GetSeatsByClientAsync(int clientId, LoginDTO login, CancellationToken ct); Task UpdateSeatsAsync(int subscriptionId, byte licenseType, int seats, LoginDTO login, CancellationToken ct); Task> GetUtilisationAsync(int clientId, LoginDTO login, CancellationToken ct); }