import type { CollectPositionsOptions, TrajectoryFrame, TrajectoryMetadata, TrajectoryPositionStream, TrajectoryRunSignal, TrajectorySignal, TrajectorySignalDescriptor } from './index'; export declare const is_loaded_signal: (signal: TrajectoryRunSignal) => signal is TrajectorySignal; export declare const is_signal_descriptor: (signal: TrajectoryRunSignal) => signal is TrajectorySignalDescriptor; export interface TrajectoryProvenance { filename?: string; format?: string; source_bytes?: number; hdf5_group?: string; } type PropertiesListener = (batch: TrajectoryMetadata[], complete: boolean) => void; export declare class TrajectoryProperties { rows: readonly TrajectoryMetadata[]; complete: boolean; readonly done: Promise; private resolve_done; private readonly listeners; constructor(rows?: TrajectoryMetadata[], complete?: boolean); push(batch: readonly TrajectoryMetadata[]): void; finish(): void; subscribe(listener: PropertiesListener): () => void; } type FrameResult = TrajectoryFrame | Promise; export interface TrajectoryRun { readonly frame_count: number; readonly preview: TrajectoryFrame; readonly provenance: TrajectoryProvenance; readonly properties: TrajectoryProperties; readonly time_step?: { value: number; unit: string; }; readonly atom_masses?: readonly number[]; readonly signals?: Record; readonly metadata: Record; readonly warnings: readonly string[]; read_frame(frame_idx: number, signal?: AbortSignal): FrameResult; collect_positions?(options?: CollectPositionsOptions): Promise; dispose(): void; } export interface TrajectoryRunSummary { frame_count: number; preview: TrajectoryFrame; provenance: TrajectoryProvenance; properties: { rows: TrajectoryMetadata[]; complete: boolean; }; time_step?: { value: number; unit: string; }; atom_masses?: number[]; signals?: Record; metadata: Record; warnings: string[]; has_collect_positions: boolean; } export declare const summarize_run: (run: TrajectoryRun) => TrajectoryRunSummary; export declare const run_fields_from_summary: (summary: TrajectoryRunSummary) => Pick; export declare const assert_frame_idx: (run: { frame_count: number; }, frame_idx: number) => void; export declare const disposed_error: (what: string) => Error; export interface SyncRunSource extends Pick { label: string; frame_count: number; read: (frame_idx: number) => TrajectoryFrame; collect_positions?: (options: CollectPositionsOptions) => Promise; release?: () => void; } export declare function sync_run(source: SyncRunSource): TrajectoryRun; export {};