using Persistence.Models;
namespace Persistence.Client.Clients.Interfaces;
///
/// Клиент для работы с временными данными
///
///
public interface ITimeSeriesClient where TDto : class, new()
{
///
/// Добавление записей
///
///
///
///
Task AddRange(IEnumerable dtos, CancellationToken token);
///
/// Получить список объектов, удовлетворяющий диапазону дат
///
///
///
///
///
Task> Get(DateTimeOffset dateBegin, DateTimeOffset dateEnd, CancellationToken token);
///
/// Получить диапазон дат, для которых есть данные в репозитории
///
///
///
Task GetDatesRange(CancellationToken token);
///
/// Получить список объектов с прореживанием, удовлетворяющий диапазону дат
///
///
///
///
///
///
Task> GetResampledData(DateTimeOffset dateBegin, double intervalSec = 600, int approxPointsCount = 1024, CancellationToken token = default);
}