export { compute_msd_async } from './async-compute.svelte'; export * from './calc-msd'; export * from './collect'; export { default as MsdPlot } from './MsdPlot.svelte'; export { default as TrajectoryMsdPane } from './TrajectoryMsdPane.svelte'; export interface EinsteinFitOptions { start_fraction?: number; end_fraction?: number; dimensionality?: number; } export interface EinsteinFit { diffusion_coefficient: number; diffusion_coefficient_cm2_s: number | null; slope: number; intercept: number; r_squared: number; lag_window: [number, number]; n_points: number; dimensionality: number; units: string; } export interface MsdCurve { label: string; n_atoms: number; msd: number[]; std_error: number[]; n_origins: number[]; fit: EinsteinFit | null; } export interface MsdOptions { dt?: number; time_unit?: string; max_lag_fraction?: number; max_lags?: number; fit?: EinsteinFitOptions; } export interface MsdResult { lags: number[]; times: number[]; curves: MsdCurve[]; dt: number; time_unit: string; x_label: string; n_frames: number; n_atoms: number; unwrapped: boolean; lag_stride: number; origin_stride: number; frame_stride: number; }