import { type ShowControlsProp } from '../controls'; import Spinner from '../feedback/Spinner.svelte'; import type { Vec2 } from '../math'; import { type FullscreenToggleProp } from '../layout'; import type { Orientation } from '../plot'; import { Histogram, ScatterPlot } from '../plot'; import Structure from '../structure/Structure.svelte'; import type { ComponentProps, Snippet } from 'svelte'; import type { HTMLAttributes } from 'svelte/elements'; import type { TrajectoryDataExtractor, TrajectoryType, TrajHandlerData } from './index'; import type { AtomTypeMapping, LoadingOptions } from './parse'; type EventHandlers = { on_play?: (data: TrajHandlerData) => void; on_pause?: (data: TrajHandlerData) => void; on_step_change?: (data: TrajHandlerData) => void; on_end?: (data: TrajHandlerData) => void; on_loop?: (data: TrajHandlerData) => void; on_frame_rate_change?: (data: TrajHandlerData) => void; on_display_mode_change?: (data: TrajHandlerData) => void; on_fullscreen_change?: (data: TrajHandlerData) => void; on_file_load?: (data: TrajHandlerData) => void; on_error?: (data: TrajHandlerData) => void; }; type ControlsProps = { trajectory: TrajectoryType; current_step_idx: number; total_frames: number; on_step_change: (idx: number) => void; }; type $$ComponentProps = EventHandlers & HTMLAttributes & { trajectory?: TrajectoryType; data_url?: string; current_step_idx?: number; data_extractor?: TrajectoryDataExtractor; allow_file_drop?: boolean; layout?: `auto` | Orientation; structure_props?: ComponentProps; scatter_props?: ComponentProps; histogram_props?: Omit, `series`>; spinner_props?: ComponentProps; trajectory_controls?: Snippet<[ControlsProps]>; error_snippet?: Snippet<[{ error_msg: string; on_dismiss: () => void; }]>; show_controls?: ShowControlsProp; fullscreen_toggle?: FullscreenToggleProp; auto_play?: boolean; display_mode?: `structure+scatter` | `structure` | `scatter` | `histogram` | `structure+histogram`; step_labels?: number | number[]; visible_properties?: string[]; ELEM_PROPERTY_LABELS?: Record; fps_range?: Vec2; fps?: number; loading_options?: LoadingOptions; atom_type_mapping?: AtomTypeMapping; plot_skimming?: boolean; hovered?: boolean; controls_open?: boolean; info_pane_open?: boolean; wrapper?: HTMLDivElement; fullscreen?: boolean; }; declare const Trajectory: import("svelte").Component<$$ComponentProps, {}, "trajectory" | "fullscreen" | "wrapper" | "hovered" | "controls_open" | "fps" | "info_pane_open" | "display_mode" | "current_step_idx" | "visible_properties">; type Trajectory = ReturnType; export default Trajectory;