namespace NetinaShop.Core.BaseServices.Abstracts;

public interface IJwtService : IScopedDependency
{
    Task<AccessToken<TUser>> Generate<TUser>(TUser user) where TUser : ApplicationUser;

    Task<AccessToken<TUserDto>> Generate<TUserDto, TUser>(TUser user, List<string> roleNames) where TUser : ApplicationUser;
    Task<AccessToken<TUserDto>> Generate<TUserDto, TUser>(TUser user) where TUser : ApplicationUser;
}