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