using Services.AIViewModel;
namespace Services.Interaces
{
public interface IUserTrajectoryService
{
///
/// Analyzes the wellness trajectory for a user.
/// Uses cached results when available; calls Claude API only when
/// new responses exist since the last analysis.
///
/// The user's email to look up responses
/// Complete trajectory analysis
Task GetOrAnalyzeTrajectoryAsync(string userEmail);
///
/// Forces a fresh analysis regardless of cache state.
/// Useful when admin wants to re-analyze.
///
Task ForceReanalyzeTrajectoryAsync(string userEmail);
///
/// Checks if a cached analysis exists and whether it's stale
/// (i.e., new responses exist since last analysis).
///
Task<(bool HasCache, bool IsStale, int CachedCount, int CurrentCount)> CheckCacheStatusAsync(string userEmail);
}
}