using AsbCloudApp.Requests.ExportOptions;

namespace AsbCloudApp.Services.Export;

/// <summary>
/// Фабрика создания сервисов для экспорта
/// </summary>
/// <typeparam name="TId"></typeparam>
public interface IExportServiceFactory<in TId>
   where TId : struct
{
   /// <summary>
   /// Создать сервис экспорта
   /// </summary>
   /// <param name="id"></param>
   /// <typeparam name="TOptions"></typeparam>
   /// <returns></returns>
   IExportService<TOptions> CreateExportService<TOptions>(TId id)
      where TOptions : IExportOptionsRequest;
}