import type { NamedReactionPath, NebImage, PathMetricOptions, ReactionCoordOptions, ReactionPath, ReactionPathInput } from './index'; export declare const path_energy_unit: (path: ReactionPath | NebImage[]) => string; export declare function normalize_paths(input: ReactionPathInput): NamedReactionPath[]; export declare function assert_path(path: ReactionPath | NebImage[], context?: string): NebImage[]; export declare function reaction_coordinate(path: ReactionPath | NebImage[], options?: ReactionCoordOptions): number[]; export type BarrierAnalysis = { initial_energy: number; final_energy: number; ts_image_idx: number; ts_energy: number; ts_coordinate: number; forward_barrier: number; reverse_barrier: number; reaction_energy: number; energy_unit: string; }; export declare function analyze_barrier(path: ReactionPath | NebImage[], options?: ReactionCoordOptions, coords?: readonly number[]): BarrierAnalysis; export declare function projected_force_slopes(path: ReactionPath | NebImage[], options?: PathMetricOptions): number[] | null; export declare function natural_cubic_slopes(xs: readonly number[], ys: readonly number[]): number[]; export type PathSpline = { method: `force-hermite` | `natural-cubic`; coords: number[]; energies: number[]; knot_slopes: number[]; fitted_max: { coord: number; energy: number; between_images: [number, number]; }; highest_image: { idx: number; coord: number; energy: number; }; saddle_at_image: boolean; }; export declare function fit_path_spline(coords: readonly number[], energies: readonly number[], options?: { slopes?: readonly number[]; n_samples?: number; }): PathSpline; export type PathSplineOptions = ReactionCoordOptions & { n_samples?: number; ignore_forces?: boolean; }; export declare function path_spline(path: ReactionPath | NebImage[], options?: PathSplineOptions, coords?: readonly number[]): PathSpline; export type PathProfile = { coords: number[]; energies: number[]; analysis: BarrierAnalysis; spline: PathSpline; }; export declare function path_profile(path: ReactionPath | NebImage[], options?: PathSplineOptions): PathProfile; export declare function nearest_image_idx(coords: readonly number[], coord: number): number;