using BCards.Web.Models; using BCards.Web.ViewModels; namespace BCards.Web.Services; public interface IDowngradeService { /// /// Analisa o impacto de um downgrade para um usuário /// Task AnalyzeDowngradeImpact(string userId, PlanType newPlan); /// /// Processa automaticamente um downgrade, suspendendo páginas necessárias /// Task ProcessAutomaticDowngrade(string userId, PlanType newPlan); /// /// Reativa páginas suspensas por limite quando há upgrade /// Task ProcessAutomaticUpgrade(string userId, PlanType newPlan); /// /// Detecta se uma mudança de plano é um downgrade /// bool IsDowngrade(PlanType oldPlan, PlanType newPlan); /// /// Detecta se uma mudança de plano é um upgrade /// bool IsUpgrade(PlanType oldPlan, PlanType newPlan); }