using AuthHex.Models; namespace AuthHex.Interfaces { public interface IUserManageRepository { Task AddUserAsync(User user, CancellationToken ct = default); Task AddTokenAsync(Token token, CancellationToken ct = default); Task> GetUserByIdentifiers(string? email, string? mobileNumber, string? nic, string? username, string? Optional1); Task GetUserByIdentifierAndType(string identifier, Guid? userTypeId); Task GetUserByIdAsync(Guid userId, CancellationToken ct = default); Task UpdateUserAsync(User user, CancellationToken ct = default); Task> GetUserSessionsAsync(Guid userId, CancellationToken ct = default); Task GetActiveSessionByRefreshTokenAsync(string refreshToken, CancellationToken ct = default); Task InvalidateUserSessionsAsync(Guid userId, CancellationToken ct = default); //Task GetExUser (string identifier); } }