namespace MotoresArgentinosV2.Core.Interfaces; public interface INotificationService { // Categoría: "mensajes" Task SendChatNotificationEmailAsync(string toEmail, string fromUser, string message, int adId, string? unsubscribeUrl = null); // Categoría: "sistema" Task SendAdStatusChangedEmailAsync(string toEmail, string adTitle, string status, string? reason = null, string? unsubscribeUrl = null); // SIN baja — correo crítico de seguridad, siempre se envía Task SendSecurityAlertEmailAsync(string toEmail, string actionDescription); // Categoría: "sistema" Task SendExpirationWarningEmailAsync(string toEmail, string userName, string adTitle, DateTime expirationDate, string? unsubscribeUrl = null); // Categoría: "sistema" Task SendAdExpiredEmailAsync(string toEmail, string userName, string adTitle, string? unsubscribeUrl = null); // Categoría: "rendimiento" Task SendWeeklyPerformanceEmailAsync(string toEmail, string userName, string adTitle, int views, int favorites, string? unsubscribeUrl = null); // Categoría: "marketing" Task SendPaymentReminderEmailAsync(string toEmail, string userName, string adTitle, string link, string? unsubscribeUrl = null); // SIN baja — recibo de pago transaccional, siempre se envía Task SendPaymentReceiptEmailAsync(string toEmail, string userName, string adTitle, decimal amount, string operationCode); // Categoría: "mensajes" Task SendUnreadMessagesReminderEmailAsync(string toEmail, string userName, int unreadCount, string? unsubscribeUrl = null); }