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 { Lattice } from './'; import type { AtomColorConfig } from './atom-properties'; import type { SymmetryElement } from '../symmetry'; import SymmetryElements from '../symmetry/SymmetryElements.svelte'; import type { MoyoDataset } from '@spglib/moyo-wasm'; 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'; 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; show_atoms?: boolean; show_bonds?: ShowBonds; 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; hovered_site?: Site | null; float_fmt?: string; 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; lattice_props?: ComponentProps; 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?: Map | SvelteMap; atom_color_config?: Partial; sym_data?: MoyoDataset | 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; }; declare const StructureScene: import("svelte").Component<$$ComponentProps, {}, "cursor" | "hidden_elements" | "hidden_prop_vals" | "element_radius_overrides" | "site_radius_overrides" | "selected_sites" | "site_label_offset" | "vector_configs" | "hovered_idx" | "hovered_site" | "polyhedra_rendered_elements" | "camera_is_moving" | "measured_sites" | "added_bonds" | "removed_bonds" | "bond_order_overrides" | "bond_edit_mode" | "active_sites" | "scene" | "camera" | "orbit_controls" | "rotation_target_ref" | "initial_computed_zoom" | "add_atom_mode" | "add_element" | "dragging_atoms">; type StructureScene = ReturnType; export default StructureScene;