using TakeoutSaaS.Application.Dictionary.Models;

namespace TakeoutSaaS.Application.Dictionary.Abstractions;

/// <summary>
/// CSV 字典导入解析器。
/// </summary>
public interface ICsvDictionaryParser
{
    /// <summary>
    /// 解析 CSV 数据。
    /// </summary>
    /// <param name="stream">输入流。</param>
    /// <param name="cancellationToken">取消标记。</param>
    /// <returns>解析后的记录列表。</returns>
    Task<IReadOnlyList<DictionaryImportRow>> ParseAsync(Stream stream, CancellationToken cancellationToken = default);
}
