export type Orientation = 'sud' | 'sud-est' | 'sud-ouest' | 'est' | 'ouest' | 'nord'; export type ClasseRt = 'H1' | 'H2' | 'H3'; export interface Coefficient { valeur: T; /** Document ou norme qui fixe la valeur ; « heuristique … » si non sourcée. */ source: string; /** Date du document source (AAAA-MM-JJ). */ date: string; /** Fourchette, variante, réserve : ce que Jules doit savoir pour mettre un veto. */ note?: string; } export interface TableCoefficients { /** Rendement de captage d'une toiture (part de la pluie réellement collectée). */ captage_rendement: Coefficient; /** Rendement par type de toiture, pour un formulaire enrichi (non utilisé par les moteurs v0.1). */ captage_rendement_par_toiture: Coefficient>; /** Besoin domestique total, litres par jour et par personne. */ besoin_eau_l_j_pers: Coefficient; /** Part du besoin substituable par l'eau de pluie (WC, douche, lessive, jardin). */ part_eau_substituable: Coefficient; /** Facteur de production PV selon l'orientation du toit (sud 30° = 1). */ orientation_pv: Coefficient>; /** Productible PV annuel (kWh/kWc/an), par zone : `par` dit quelle clé du contexte indexe la table. */ productible_pv_kwh_kwc: Coefficient<{ par: 'zone_rt' | 'zone_biogeo_code'; table: Record; defaut: number; }>; /** Part de la production PV autoconsommée, sans batterie. */ autoconso_sans_batterie: Coefficient; /** Part de la production PV autoconsommée, avec 10 kWh de batterie. */ autoconso_avec_batterie_10kwh: Coefficient; /** Besoin d'électricité spécifique, kWh par personne et par an (hors chauffage électrique). */ besoin_elec_kwh_pers_an: Coefficient; /** DJU base 18 par défaut, par classe de zone RT, si la ligne climat n'en porte pas. */ dju_defaut_par_classe_rt: Coefficient>; /** Mètres linéaires de haie fruitière par personne pour couvrir les fruits d'un foyer. */ ml_haie_par_pers: Coefficient; /** Contexte climatique appliqué quand le département est inconnu (déclaré en avertissement). */ contexte_defaut: Coefficient<{ zone_rt: string; zone_biogeo_code: number; pluviometrie_mm: number; dju: number; }>; /** SHAB estimée = emprise × niveaux × ce ratio (murs, refends, escalier). */ geometrie_ratio_shab_emprise: Coefficient; /** Surface vitrée = SHAB × ce ratio. */ geometrie_ratio_vitrage_shab: Coefficient; /** Hauteur d'un niveau par défaut (m), si la hauteur totale n'est pas connue. */ geometrie_hauteur_etage_m: Coefficient; /** Périmètre estimé = 4 × √(emprise × facteur) (rectangle allongé). */ geometrie_facteur_perimetre: Coefficient; /** Part du périmètre retirée par côté mitoyen. */ geometrie_part_mur_mitoyen: Coefficient; /** Majoration de la surface de toiture (débords, recouvrements). */ geometrie_majoration_toiture: Coefficient; /** Pente de toit par défaut (degrés) si inconnue. */ geometrie_pente_defaut_deg: Coefficient; } /** Table harmonisée (LOT P1.0, 28/09/2026). Référence tant que Jules ne met pas de veto (R-7). */ export declare const COEFFICIENTS: TableCoefficients; /** Clés de la table, pour valider un jeu de coefficients injecté (fixture, veto). */ export declare const CLES_COEFFICIENTS: (keyof TableCoefficients)[]; /** * Vérifie qu'un objet a la forme d'une table de coefficients (toutes les clés, * chaque entrée avec valeur, source et date). Renvoie la liste des défauts. */ export declare function verifieTableCoefficients(table: unknown): string[];