using System.IO;
using AsbCloudApp.Data;
using AsbCloudApp.Requests.ParserOptions;

namespace AsbCloudApp.Services.Parsers;

/// <summary>
/// Сервис парсинга
/// </summary>
/// <typeparam name="TDto"></typeparam>
/// <typeparam name="TOptions"></typeparam>
public interface IParserService<TDto, in TOptions> : IParserService
   where TDto : class, IId
   where TOptions : IParserOptionsRequest
{
   /// <summary>
   /// Распарсить файл
   /// </summary>
   /// <param name="file"></param>
   /// <param name="options"></param>
   /// <returns></returns>
   ParserResultDto<TDto> Parse(Stream file, TOptions options);

   /// <summary>
   /// Получение шаблона для заполнения
   /// </summary>
   /// <returns></returns>
   Stream GetTemplateFile();
}

/// <summary>
/// Сервис парсинга
/// </summary>
public interface IParserService
{
}