import { type Matrix3x3 } from '../../math'; import type { PositionStreamOptions, TrajectoryFrame, TrajectoryMetadata, TrajectorySignal, TrajectorySignalDescriptor } from '../index'; import type { Dataset, Entity, Group } from 'h5wasm'; import type * as h5wasm from 'h5wasm'; export declare const is_hdf5_dataset: (entity: Entity | null) => entity is Dataset; export declare const is_hdf5_group: (entity: Entity | null) => entity is Group; export declare class Hdf5GroupSelectionRequiredError extends Error { readonly groups: string[]; constructor(groups: string[], message?: string); } export declare const attribute_value: (entity: Dataset | Group, names: string[]) => unknown; export declare const string_value: (value: unknown) => string | undefined; export declare const dataset_at: (h5_file: h5wasm.File, path: string | undefined) => Dataset | null; export declare const dataset_shape: (dataset: Dataset, path: string, format: string) => number[]; export declare const read_numeric_1d: (dataset: Dataset, path: string, count: number, format: string) => number[]; export declare const lattice_from_values: (values: ArrayLike, offset?: number) => Matrix3x3; export declare const attach_site_vectors: (frame: TrajectoryFrame, key: string, values: ArrayLike) => void; export declare const sampled_property_rows: (n_frames: number, step_of: (frame_idx: number) => number, read_properties: (frame_indices: number[], stride: number) => Record[]) => TrajectoryMetadata[]; export declare const read_dataset: (h5_file: h5wasm.File, path: string) => unknown; export declare const HDF5_MAX_LOGICAL_SLICE_BYTES: number; export declare const read_numeric_hyperslab: (dataset: Dataset, path: string, ranges: Parameters[0]) => number[]; export declare const hdf5_frames_per_slice: (...values_per_frame: number[]) => number; export declare const to_string_array: (data: unknown) => string[] | null; export declare const to_number_array: (data: unknown) => number[] | null; export declare const to_scalar_number: (data: unknown) => number | null; export declare const trajectory_signal: (values: Float64Array, { sample_shape, unit }: { sample_shape: number[]; unit?: string; }, steps: number[]) => TrajectorySignal; export declare const signal_descriptors: (manifest: Record, sample_count_of: (signal: Manifest) => number, frame_aligned_of: (signal: Manifest) => boolean) => Record; export declare const resolve_stream_channels: (format: string, options: PositionStreamOptions, n_frames: number, channels: { is_vector: (key: string) => boolean; is_signal: (key: string) => boolean; values_per_frame: (n_vectors: number) => number; signal_values: (key: string) => number; }) => { frame_stride: number; vector_keys: string[]; signal_keys: string[]; frame_indices: number[]; }; export declare const read_numeric_samples: (dataset: Dataset, path: string, sample_count: number, sample_size: number, stride?: number, ranges_for_samples?: (start: number, end: number, stride: number) => Parameters[0]) => Float64Array; export declare const scale_matrix: (matrix: Matrix3x3, scale: number) => Matrix3x3; export declare function with_h5_file(buffer: ArrayBuffer, filename: string | undefined, callback: (h5_file: h5wasm.File) => T | Promise): Promise; export declare function open_h5_source(source: ArrayBuffer | Blob, filename?: string): Promise<{ h5_file: h5wasm.File; close: () => void; }>;