using Books.Api.Saft.Models;

namespace Books.Api.Saft.Services;

/// <summary>
/// Service for generating SAF-T (Standard Audit File for Tax) exports.
/// Required for Danish companies from January 1, 2027 per Bogføringsloven.
/// </summary>
public interface ISaftExportService
{
    /// <summary>
    /// Generates a SAF-T XML file for the specified company and fiscal year.
    /// </summary>
    /// <param name="companyId">The company to export data for</param>
    /// <param name="fiscalYearId">The fiscal year defining the export period</param>
    /// <param name="ct">Cancellation token</param>
    /// <returns>Export result containing XML content or error information</returns>
    Task<SaftExportResult> GenerateAsync(
        string companyId,
        string fiscalYearId,
        CancellationToken ct = default);
}
