import type { D3InterpolateName } from '../colors'; import type { ElementSymbol } from '../element'; import type { IsosurfaceSettings, VolumetricData } from '../isosurface/types'; import type { Vec3 } from '../math'; import type { SceneControlProps } from '../scene'; import type { ShowBonds, VectorColorMode, VectorLayerConfig } from '../settings'; import type { AnyStructure, BondEditMode, BondOrder, MeasureMode, Site, StructureBond } from './'; import type { AtomPropertyColors } from './atom-properties'; import type { SymmetryElement } from '../symmetry'; import SymmetryElements from '../symmetry/SymmetryElements.svelte'; import * as measure from './measure'; import * as extras from '@threlte/extras'; import { type ComponentProps, type Snippet } from 'svelte'; import { SvelteMap } from 'svelte/reactivity'; import type { BondingStrategy } from './bonding'; import type { PolyhedraColorMode } from './polyhedra'; import type { TrajectoryLineColorMode, TrajectoryLinesStats, TrajectoryLineWrapMode } from './trajectory-lines'; import type { TrajectoryPositionStream } from '../trajectory'; type $$ComponentProps = SceneControlProps & { structure?: AnyStructure; base_structure?: AnyStructure; atom_radius?: number; same_size_atoms?: boolean; camera_position?: [x: number, y: number, z: number]; camera_target?: Vec3; camera_direction?: Vec3; show_atoms?: boolean; show_bonds?: ShowBonds; defer_expensive_geometry?: boolean; show_site_labels?: boolean; show_site_indices?: boolean; vector_configs?: Record; vector_scale?: number; vector_color?: string; vector_color_mode?: VectorColorMode; vector_color_scale?: D3InterpolateName; vector_normalize?: boolean; vector_uniform_thickness?: boolean; vector_origin_gap?: number; vector_shaft_radius?: number; vector_arrow_head_radius?: number; vector_arrow_head_length?: number; hovered_idx?: number | null; bond_thickness?: number; bond_color?: string; bonding_strategy?: BondingStrategy; auto_bond_order?: boolean; aromatic_display?: `aromatic` | `kekule`; bonding_options?: Record; show_polyhedra?: ShowBonds; polyhedra_opacity?: number; polyhedra_show_edges?: boolean; polyhedra_edge_color?: string; polyhedra_color_mode?: PolyhedraColorMode; polyhedra_color?: string; polyhedra_hide_center_atoms?: boolean; polyhedra_min_neighbors?: number; polyhedra_max_neighbors?: number; polyhedra_excluded_elements?: readonly string[]; polyhedra_included_elements?: readonly string[]; polyhedra_rendered_elements?: string[]; sphere_segments?: number; cell_edge_color?: string; cell_surface_color?: string; cell_edge_width?: number; cell_edge_opacity?: number; cell_surface_opacity?: number; show_cell_vectors?: boolean; symmetry_elements?: SymmetryElement[]; symmetry_elements_props?: Omit, `elements` | `lattice`>; symmetry_declutter?: boolean; atom_label?: Snippet<[{ site: Site; site_idx: number; }]>; site_label_size?: number; site_label_offset?: Vec3; site_label_bg_color?: string; site_label_color?: string; site_label_padding?: number; camera_is_moving?: boolean; width?: number; height?: number; measure_mode?: MeasureMode; selected_sites?: number[]; measured_sites?: number[]; added_bonds?: StructureBond[]; removed_bonds?: StructureBond[]; bond_order_overrides?: StructureBond[]; bond_edits_enabled?: boolean; bond_edit_mode?: BondEditMode; bond_edit_order?: BondOrder; selection_highlight_color?: string; active_sites?: number[]; active_highlight_color?: string; rotation?: Vec3; orbit_controls?: ComponentProps[`ref`]; rotation_target_ref?: Vec3; initial_computed_zoom?: number; hidden_elements?: Set; hidden_prop_vals?: Set; element_radius_overrides?: Partial>; site_radius_overrides?: SvelteMap; property_colors?: AtomPropertyColors | null; on_sites_moved?: (scene_indices: number[], delta: Vec3) => void; on_operation_start?: () => void; on_bond_edit_start?: () => void; on_add_atom?: (xyz: Vec3, element: ElementSymbol) => void; add_atom_mode?: boolean; add_element?: ElementSymbol; cursor?: string; dragging_atoms?: boolean; volumetric_data?: VolumetricData[]; isosurface_settings?: IsosurfaceSettings; active_volume_idx?: number; volume_scaling?: Vec3; interactive?: boolean; fly_to_request?: Vec3; reference_structure?: AnyStructure; show_displacement_arrows?: boolean; displacement_arrow_scale?: number; displacement_arrow_color?: string; displacement_summary?: measure.DisplacementSummary | null; trajectory_position_stream?: TrajectoryPositionStream | null; show_trajectory_lines?: boolean; trajectory_line_end_frame?: number; trajectory_line_trail_frames?: number; trajectory_line_frame_stride?: number; trajectory_line_elements?: readonly ElementSymbol[] | null; trajectory_line_color_mode?: TrajectoryLineColorMode; trajectory_line_wrap_mode?: TrajectoryLineWrapMode; trajectory_lines_result?: TrajectoryLinesStats | null; }; declare const StructureScene: import("svelte").Component<$$ComponentProps, {}, "cursor" | "camera_position" | "scene" | "camera" | "camera_target" | "orbit_controls" | "element_radius_overrides" | "site_radius_overrides" | "hidden_prop_vals" | "selected_sites" | "added_bonds" | "removed_bonds" | "bond_order_overrides" | "bond_edit_mode" | "hovered_idx" | "polyhedra_rendered_elements" | "camera_is_moving" | "measured_sites" | "rotation_target_ref" | "initial_computed_zoom" | "add_atom_mode" | "add_element" | "dragging_atoms" | "fly_to_request" | "displacement_summary" | "trajectory_lines_result">; type StructureScene = ReturnType; export default StructureScene;