using adas_core.Domain.Models;
using adas_core.Domain.Models.GroupedObservations;
using adas_core.Domain.Models.MongoModels;
using MongoDB.Bson;

namespace adas_core.Application.Repositories.Interfaces;

public interface IAlarmRepository : IMongoRepository<PatientObservationAlarm>
{
    Task<List<PatientObservationAlarm>> AggregatedPatientLastObservationsByField(ObjectId patientId,
        List<Field>? filterObservations = null);

    Task<List<PatientObservationAlarm>> AggregatedPatientNotExpiredObservationsByField(ObjectId patientId,
        List<Field>? filterObservations, List<ConfigObservation> configAlarm);
}