import type { TableCoefficients } from '../commun/coefficients.js'; import type { Contexte } from '../commun/contexte.js'; import { Trace } from '../commun/contrat.js'; import type { PosteResultat } from './noyau/types.js'; export interface DetailEau { captable_m3: number; besoin_m3: number; besoin_substituable_m3: number; } export interface DetailEnergie { kwc: number; kwh_par_kwc: number; facteur_orientation: number; production_kwh: number; batterie_kwh: number; taux_autoconso: number; autoconsomme_kwh: number; besoin_kwh: number; } export interface DetailAlim { ml: number; reco_ml: number; } /** kWc installés dans la sélection (dimensions en kWc). */ export declare function kwcSelectionnes(postes: PosteResultat[]): number; /** kWh de batterie dans la sélection (dimensions en kWh). */ export declare function batterieSelectionnee(postes: PosteResultat[]): number; /** Mètres linéaires de haie dans la sélection. */ export declare function mlHaiesSelectionnes(postes: PosteResultat[]): number; /** Vrai si la sélection porte un équipement de captage. */ export declare function aCaptage(postes: PosteResultat[]): boolean; /** * EAU : volume captable vs besoin substituable. null si aucun captage. */ export declare function tauxEau(entrees: { surface_toit_m2?: number; nb_personnes?: number; pluviometrie_mm: number; a_captage: boolean; }, coefficients: TableCoefficients, trace: Trace): { taux: number | null; detail: DetailEau | null; }; /** Taux d'autoconsommation selon la batterie : 0 kWh → sans, ≥ 10 kWh → avec, linéaire entre. */ export declare function tauxAutoconso(batterie_kwh: number, coefficients: TableCoefficients): number; /** Productible PV (kWh/kWc/an) pour un contexte, depuis la table de coefficients. */ export declare function productiblePv(contexte: Pick, coefficients: TableCoefficients, trace: Trace): number; /** * ÉNERGIE : production PV autoconsommée vs besoin d'électricité spécifique. * null si aucun kWc dans la sélection. */ export declare function tauxEnergie(entrees: { kwc: number; batterie_kwh: number; orientation_toit?: string; nb_personnes?: number; contexte: Pick; }, coefficients: TableCoefficients, trace: Trace): { taux: number | null; detail: DetailEnergie | null; }; /** * ALIMENTATION : mètres de haie vs recommandation. null si aucune haie. */ export declare function tauxAlim(entrees: { ml: number; nb_personnes?: number; }, coefficients: TableCoefficients, trace: Trace): { taux: number | null; detail: DetailAlim | null; };