import type { TrajPropertyConfig } from '../labels'; import { type DataSeries } from '../plot/core/types'; import type { TrajectoryMetadata } from './index'; export interface PlotSeriesOptions { property_config?: Record; default_visible_properties?: Set; x_map?: TrajectoryXMap; } export type TrajectoryXQuantity = keyof typeof X_QUANTITY_LABELS; export interface TrajectoryXMap { quantity: TrajectoryXQuantity; label: string; unit: string; to_x: (frame_idx: number) => number; to_frame: (x_value: number) => number; } export interface FrameStepSamples { frame_numbers: readonly number[]; steps: readonly number[]; } export declare function available_x_quantities(samples: FrameStepSamples, time_step?: number, time_unit?: string): TrajectoryXQuantity[]; export declare const X_QUANTITY_LABELS: { frame: string; step: string; time: string; }; export declare function build_x_map(samples: FrameStepSamples, quantity: TrajectoryXQuantity, time_options?: { time_step?: number; time_unit?: string; }): TrajectoryXMap; export declare function get_frame_time_step(samples: FrameStepSamples, time_step?: number): number | null; export declare function get_frame_step_samples(rows: readonly TrajectoryMetadata[]): FrameStepSamples; export interface PropertySummary { key: string; n_samples: number; mean: number; std: number; min: number; max: number; drift: number; } export declare function summarize_properties(rows: readonly TrajectoryMetadata[], x_of?: (row: TrajectoryMetadata) => number): PropertySummary[]; export declare function extract_label_and_unit(key: string, property_config: Record): { clean_label: string; unit: string; axis_group?: string; }; export declare const property_key: (series: DataSeries) => string | undefined; export declare const generate_plot_series: (rows: readonly TrajectoryMetadata[], options?: PlotSeriesOptions) => DataSeries[]; export declare function should_hide_plot(frame_count: number, plot_series: DataSeries[], tolerance?: number): boolean; export declare const generate_axis_labels: (plot_series: DataSeries[]) => { y1: string; y2: string; }; export declare const generate_axis_scale_types: (plot_series: DataSeries[]) => Record<"y1" | "y2", import("../plot/core/types").ScaleType>; export declare function prepare_trajectory_scatter_series(series: readonly DataSeries[], max_points: number): DataSeries[];