using FlatRender.IdentitySvc.Models.Requests; using FlatRender.IdentitySvc.Models.Responses; namespace FlatRender.IdentitySvc.Application.Services.Interfaces; public interface IPlanService { Task> ListAsync(Guid? tenantId, string? scope); Task GetByIdAsync(Guid planId); Task GetCurrentPlanAsync(Guid userId); Task PurchasePlanAsync(Guid userId, Guid tenantId, PurchasePlanRequest request); /// Cancel the current active plan. The subscription is marked cancelled /// and will not auto-renew. Access continues until the expiry date. Task CancelPlanAsync(Guid userId); }