using System.Collections.Generic; using System.Threading.Tasks; using Kavita.Models.DTOs.Email; using Kavita.Models.Entities.Enums; using Kavita.Models.Entities.User; using Microsoft.AspNetCore.Http; namespace Kavita.API.Services; public interface IEmailService { Task SendInviteEmail(ConfirmationEmailDto data); Task SendForgotPasswordEmail(PasswordResetEmailDto dto); Task SendFilesToEmail(SendToDto data); Task SendTestEmail(string adminEmail); Task SendEmailChangeEmail(ConfirmationEmailDto data); bool IsValidEmail(string email); Task GenerateEmailLink(HttpRequest request, string token, string routePart, string email, bool withHost = true); Task SendTokenExpiredEmail(int userId, ScrobbleProvider provider); Task SendTokenExpiringSoonEmail(int userId, ScrobbleProvider provider); Task SendAuthKeyExpiredEmail(int userId, IList keys); Task SendAuthKeyExpiringSoonEmail(int userId, IList keys); Task SendKavitaPlusDebug(); }