using System.IO;
using System.Threading;
using System.Threading.Tasks;

namespace AsbCloudApp.Services;

/// <summary>
/// Сервис для генерации файлов отчётов
/// </summary>
public interface IReportMakerService<T>
{
    /// <summary>
    /// Генерация файла
    /// </summary>
    /// <param name="report">модель с данными для построения отчета</param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task<Stream> MakeReportAsync(T report, CancellationToken cancellationToken);
}