using LctMonolith.Models.Database; using LctMonolith.Models.DTO; namespace GamificationService.Services.Interfaces; public interface IProgressTrackingService { Task StartMissionAsync(Guid missionId, Guid playerId); Task UpdateMissionProgressAsync(Guid playerMissionId, int progressPercentage, object? proof = null); Task CompleteMissionAsync(Guid playerMissionId, object? proof = null); Task> GetPlayerMissionsAsync(Guid playerId); Task GetPlayerMissionAsync(Guid playerId, Guid missionId); Task GetPlayerOverallProgressAsync(Guid playerId); }