using LctMonolith.Models.Database; using LctMonolith.Services.Models; namespace LctMonolith.Services.Contracts; /// Gamification progression logic (progress, rewards, rank evaluation). public interface IGamificationService { /// Get current user progression snapshot (xp, mana, next rank requirements). Task GetProgressAsync(Guid userId, CancellationToken ct = default); /// Apply mission completion rewards (xp, mana, skills, artifacts) to user. Task ApplyMissionCompletionAsync(Guid userId, Mission mission, CancellationToken ct = default); /// Re-evaluate and apply rank upgrade if requirements are met. Task EvaluateRankUpgradeAsync(Guid userId, CancellationToken ct = default); }