package com.dne.ems.repository;

import com.dne.ems.dto.AqiDistributionDTO;
import com.dne.ems.dto.AqiHeatmapPointDTO;
import com.dne.ems.dto.TrendDataPointDTO;
import com.dne.ems.model.AqiData;

import java.time.LocalDateTime;
import java.util.List;

public interface AqiDataRepository {

    AqiData save(AqiData aqiData);
    
    List<AqiData> saveAll(Iterable<AqiData> aqiData);
    
    void deleteAll();

    List<AqiData> findAll();

    long count();

    List<AqiDistributionDTO> getAqiDistribution();

    List<TrendDataPointDTO> getMonthlyExceedanceTrend(LocalDateTime startDate);
    
    List<AqiHeatmapPointDTO> getAqiHeatmapData();
}