import type { Vec3 } from '../math'; import type { AnyStructure } from '../structure'; import type { Pbc } from '../structure/pbc'; export * from './parse'; export { analyze_barrier, path_profile, path_spline, reaction_coordinate, } from './reaction-path'; export type { BarrierAnalysis, PathProfile, PathSpline, PathSplineOptions, } from './reaction-path'; export { default as NebPlot } from './NebPlot.svelte'; export { default as NebViewer } from './NebViewer.svelte'; export type NebImage = { structure: AnyStructure; energy: number; forces?: Vec3[]; label?: string; }; export type ReactionPath = { images: NebImage[]; label?: string; energy_unit?: string; }; export type ReactionPathInput = ReactionPath | NebImage[] | Record; export type NamedReactionPath = { key: string; path: ReactionPath; }; export type ReactionCoordMode = `arc_length` | `image_index`; export type EnergyReference = `absolute` | `initial`; export type PathMetric = `minimum_image` | `cartesian`; export type PathMetricOptions = { metric?: PathMetric; pbc?: Pbc; }; export type ReactionCoordOptions = PathMetricOptions & { mode?: ReactionCoordMode; };