using CvMatcher.Models.Responses; using Models.Requests; namespace Api.Services.Contracts { public interface IEmailSender { Task SendContactAsync(ContactRequest req, CancellationToken ct); Task SendSubscribeAsync(SubscribeRequest req, CancellationToken ct); Task SendFileDownloadNotificationAsync(string fileName, string? userIp, CancellationToken ct); Task SendMatchAsync(string? explicitTo, string subject, string body, string? attachmentPath, CancellationToken ct); string BuildMatchEmailSubject(int score, string? jobLabel, string language); string BuildMatchEmailBody(string cvDocumentId, JobMatchResponse result, string? jobLabel, string language, string? jobSearchLink = null, int expiryDays = 7); } }