using MealPlan.Api.DTOs.Auth; namespace MealPlan.Api.Services; public interface IAuthService { Task RegisterAsync(RegisterRequestDto request, CancellationToken ct = default); Task LoginAsync(LoginRequestDto request, CancellationToken ct = default); /// Validates and rotates a refresh token, issuing a fresh token pair. Task RefreshAsync(string refreshToken, CancellationToken ct = default); /// Revokes the supplied refresh token. Idempotent. void Logout(string refreshToken); Task GetUserInfoAsync(string userId, CancellationToken ct = default); }