using System.Collections.Generic;
using System.Threading.Tasks;
using GestionIntegral.Api.Dtos.Anomalia;
namespace GestionIntegral.Api.Services.Anomalia
{
public interface IAlertaService
{
///
/// Obtiene todas las alertas que no han sido marcadas como leídas.
///
/// Una colección de DTOs de alertas genéricas.
Task> ObtenerAlertasNoLeidasAsync();
///
/// Marca una alerta específica como leída.
///
/// El ID de la alerta a marcar.
/// Una tupla indicando si la operación fue exitosa y un mensaje de error si falló.
Task<(bool Exito, string? Error)> MarcarComoLeidaAsync(int idAlerta);
///
/// Marca como leídas todas las alertas de un mismo tipo y para una misma entidad.
/// (Ej: todas las alertas de "DevolucionAnomala" para el Canillita ID 45).
///
/// El tipo de alerta a marcar (ej. "DevolucionAnomala").
/// El ID de la entidad afectada (ej. el IdCanilla).
/// Una tupla indicando si la operación fue exitosa y un mensaje de error si falló.
Task<(bool Exito, string? Error)> MarcarGrupoComoLeidoAsync(string tipoAlerta, int idEntidad);
}
}