import type { Option, Poste, Reglages, Selection } from './types.js'; export interface ResultatCouplages { axes: Selection; couplages_appliques: string[]; } /** Codes requis (alias résolus) par les lignes NON forcées de la sélection. */ export declare function codesRequisPar(axes: Selection, alias: Record): Set; /** Codes des lignes NON forcées (les choix de postes, par opposition aux accessoires forcés). */ export declare function codesChoisis(axes: Selection): Set; /** * Retire EN PLACE les lignes forcées devenues inutiles et recalcule les * sous-totaux : celles que plus aucune ligne ne requiert (orphelines), et * celles dont la typologie est déjà le choix d'un poste (le requis est * satisfait par ce choix, la ligne forcée est absorbée). Rend le journal. */ export declare function retireForcesOrphelins(axes: Selection, alias: Record): string[]; /** * Post-traitement déterministe des couplages. * * Gestion alias : algo-config.json § couplages_alias permet de mapper * des codes legacy (ex: stherm_ballon_tampon) vers les codes BDD réels (th_ballon_500). */ export declare function appliqueCouplages(selection_recue: Selection, options: Option[], postes: Poste[] | null | undefined, reglages: Reglages, _debug?: boolean): ResultatCouplages;