import type { Matrix3x3 } from '../math'; import type { Pbc } from '../structure'; import type { TrajectoryPositionStream } from './index'; export declare function group_atoms_by_element(elements: readonly string[]): { labels: string[]; group_sizes: number[]; atom_group: Int32Array; }; export declare const curve_slots: (labels: string[]) => { label: string; slot: number; }[]; export declare function unwrap_flat_positions(positions: Float64Array, n_frames: number, n_atoms: number, lattice_matrices: (Matrix3x3 | null)[] | null, pbc: Pbc): Float64Array; export declare const unwrapped_positions_of: (stream: TrajectoryPositionStream) => { coords: Float64Array; unwrapped: boolean; }; export declare function validate_position_stream_layout(stream: TrajectoryPositionStream, analysis_name: string, min_frames: number): void; export declare const analysis_fail: (analysis_name: string) => (message: string) => never; export declare const lag_axis_label: (time_unit: string) => string; export declare function resolve_lag_time_unit(analysis_name: string, dt: number | undefined, time_unit: string | undefined, unit_example: string): string; export declare function lag_range(analysis_name: string, n_frames: number, max_lag_fraction: number): number;