import type { ElementSymbol } from '../element'; import type { TrajectoryPositionStream } from '../trajectory'; export type TrajectoryLineColorMode = `element` | `time`; export type TrajectoryLineWrapMode = `unwrap` | `break`; interface TrajectoryLinesOptions { end_frame?: number; trail_frames?: number | null; frame_stride?: number; elements?: readonly ElementSymbol[] | null; color_mode?: TrajectoryLineColorMode; element_colors?: Partial>; wrap_mode?: TrajectoryLineWrapMode; anchor_positions?: Float64Array | null; } interface TrajectoryLinesGeometry { positions: Float32Array; colors: Float32Array; indices: Uint32Array; point_count: number; segment_count: number; atom_count: number; frame_idxs: number[]; dropped_segments: number; max_segment_length: number; } export type TrajectoryLinesStats = Omit; export declare const trajectory_lines_stats: ({ positions: _positions, colors: _colors, indices: _indices, ...stats }: TrajectoryLinesGeometry) => TrajectoryLinesStats; export declare const collected_frame_idx: (stream: Pick, source_idx: number) => number; export declare function build_trajectory_lines(stream: TrajectoryPositionStream, options?: TrajectoryLinesOptions): TrajectoryLinesGeometry; export {};