using GestionIntegral.Api.Models.Comunicaciones;
namespace GestionIntegral.Api.Data.Repositories.Comunicaciones
{
    public interface IEmailLogRepository
    {
        /// 
        /// Guarda un nuevo registro de log de email en la base de datos.
        /// 
        Task CreateAsync(EmailLog log);
        /// 
        /// Obtiene todos los registros de log de email que coinciden con una referencia específica.
        /// 
        /// El identificador de la entidad (ej. "Factura-59").
        /// Una colección de registros de log de email.
        Task> GetByReferenceAsync(string referenciaId);
        /// 
        /// Obtiene todos los registros de log de email que pertenecen a un lote de envío masivo.
        /// 
        /// El ID del lote de envío.
        /// Una colección de registros de log de email.
        Task> GetByLoteIdAsync(int idLoteDeEnvio);
    }
}