import type { TableCoefficients } from '../../commun/coefficients.js'; import type { Autodiag, Contexte, Dimension, Option } from './types.js'; /** * Calcule la valeur optimale du paramètre dimensionnant pour une typologie. * * Particularité ballon_tampon (th_ballon_500) : * - unite BDD = "forfait" (contrainte schéma NocoDB) * - prix_par_unite = 1.2 EUR/L * - parametre_dim.unite = "L" (source de vérité pour l'affichage et le calcul) * → L'algo utilise toujours parametre_dim.unite quand présent, sinon fallback option.unite */ export declare function dimension_optimale(typo: Option, inputs: Partial, contexte_derived: Partial, coefficients: TableCoefficients): Dimension | null; /** * Calcule le coût HT d'une typologie pour une dimension donnée. * * Hiérarchie des prix (3 cas BDD) : * 1. prix_fixe + prix_par_unite × dim.valeur (V2 enrichi, ex: cuve béton, PV) * 2. prix_par_unite × dim.valeur seul (ex: th_ballon_500) * 3. prix_mat_min + pose si pro requis (forfaits legacy sans parametre_dim enrichi) * * Pour les postes pro (complexite_pose=3) et temps_dispo < 3, ajouter prix_pro_min. * Fallback final : (prix_mat_min + prix_mat_max) / 2 * * Les prix sont des DONNÉES de l'option (publiées par calculs) ; la seule * heuristique du code est « pose pro = 50 % du matériel si prix_pro absent ». */ export declare function cout_typologie(typo: Option, dim_result: Dimension | null | undefined, inputs?: Partial | null): number;