import type { FourchetteOuverte } from '../commun/argent.js'; import type { Option } from './noyau/types.js'; export type ModePose = 'auto' | 'pro'; export interface PrixOption extends FourchetteOuverte { /** Vrai si le mode pro est demandé mais que l'option n'a pas de prix pro. */ autoOnly: boolean; } export interface Preset { Id: number; axe: string; niveau: string; actif?: boolean | null; [autre: string]: unknown; } export interface PresetOption { preset_id: number; option_id: number; quantite?: number | null; [autre: string]: unknown; } /** Fourchette d'une option × quantité : colonnes prix_mat_* (auto-pose) ou prix_pro_* (faire poser). */ export declare function prixOption(opt: Option, qty: number | null | undefined, pose: ModePose): PrixOption; /** Prix total d'un preset (somme de ses options × quantités) pour un mode de pose. */ export declare function prixPreset(preset: Preset, presetOptions: PresetOption[], optionsById: Record, pose: ModePose): { min: number; max: number; }; /** Niveau de preset (light/standard/complet) dont le prix médian est le plus proche du montant cible, pour un axe (code BDD). */ export declare function presetLePlusProche(cible: number, axe_bdd: string, presets: Preset[], presetOptions: PresetOption[], optionsById: Record, pose: ModePose): string;