import type { GasSpecies } from '../convex-hull/types'; import type { PlannerPhase } from './phases'; import type { SynthesisReaction, SelectivityMetrics, SynthesisConditions } from './types'; export interface BalancedReaction { coefficients: number[]; gas_exchange: number[]; energy_per_fu: number; reactant_atoms: number; } export type BalanceFailure = `unbalanced` | `redundant_precursor`; export declare function balance_reaction(precursors: PlannerPhase[], product: PlannerPhase, gases: PlannerPhase[], require_all: boolean): BalancedReaction | BalanceFailure; export declare function make_reaction(precursors: PlannerPhase[], product: PlannerPhase, gases: PlannerPhase[], balanced: BalancedReaction): SynthesisReaction; export declare function analyze_selectivity(precursors: PlannerPhase[], target: PlannerPhase, gases: PlannerPhase[], phases: PlannerPhase[], target_driving_force: number): SelectivityMetrics; export declare function reaction_energy_at_temperature(balanced: BalancedReaction, gases: PlannerPhase[], gas_species: GasSpecies[], conditions: SynthesisConditions): (temperature: number) => number; export declare function onset_temperature(energy_at: (temperature: number) => number, max_temperature?: number): number | null;