using TrajetKmTracker.Api.Models.DTOs;
namespace TrajetKmTracker.Api.Services;
///
/// Logique métier de la régularisation annuelle (barème plein, 100%).
///
/// Contrairement au Montant_Previsionnel (80% indicatif, hors régularisation), la régularisation
/// applique le Bareme_Kilometrique plein au total kilométrique annuel COMPLET du véhicule :
///
/// - Montant_Reel = total_km_annuel × Coefficient + Base de la tranche déterminée par ce
/// total annuel (Exigence 14.5, Property 25/27).
/// - Frais_Reel_Mensuel[m] = km_du_mois[m] × Coefficient de la tranche annuelle, de sorte que
/// la somme des douze Frais_Reel_Mensuel + la Base de la tranche = Montant_Reel (Exigence 14.6).
/// - Regularisation = Montant_Reel − total des Montant_Regle de l'année (Exigence 14.7).
///
///
public interface IRemboursementService
{
///
/// Construit la synthèse annuelle de régularisation pour un couple (année, véhicule) :
/// identité de la tranche annuelle applicable, 12 lignes mensuelles
/// () et totaux (km annuel, réglé, Montant_Reel, Regularisation).
///
Task GetRegularisationAnnuelleAsync(
int annee, int vehiculeId, CancellationToken cancellationToken = default);
}