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
{
	
}