namespace Books.Api.Reporting;

/// <summary>
/// Service for generating VAT (moms) reports for SKAT compliance.
/// </summary>
public interface IVatReportService
{
    /// <summary>
    /// Generates a VAT report for a company within a specified period.
    /// </summary>
    /// <param name="companyId">The company ID</param>
    /// <param name="periodStart">Start date of the VAT period (inclusive)</param>
    /// <param name="periodEnd">End date of the VAT period (inclusive)</param>
    /// <param name="ct">Cancellation token</param>
    /// <returns>VAT report with SKAT boxes and summary</returns>
    Task<VatReportDto> GenerateReportAsync(
        string companyId,
        DateOnly periodStart,
        DateOnly periodEnd,
        CancellationToken ct = default);
}
