using System.IO;
using System.Threading;
using System.Threading.Tasks;
using AsbCloudApp.Requests.ExportOptions;

namespace AsbCloudApp.Services.Export;

/// <summary>
/// Экспорт данных
/// </summary>
public interface IExportService<in TOptions> : IExportService
   where TOptions : IExportOptionsRequest
{
   /// <summary>
   /// Экспортировать данные
   /// </summary>
   /// <param name="options"></param>
   /// <param name="token"></param>
   /// <returns></returns>
   Task<(string FileName, Stream File)> ExportAsync(TOptions options, CancellationToken token);
}

/// <summary>
/// Экспорт данных
/// </summary>
public interface IExportService
{
   
}