import type { AnyStructure } from './'; import type { BufferGeometry, Material, Scene } from 'three'; import { Color } from 'three'; export declare function has_color_property(mat: Material): mat is Material & { color: Color; }; export declare function extract_bond_color_for_instance(geometry: BufferGeometry, instance_idx: number): Color | null; export declare function clean_geometry_for_export(geometry: BufferGeometry): void; export declare function generate_mtl_content(scene: Scene): string; export declare function create_structure_filename(structure: AnyStructure | undefined, extension: string): string; export declare function structure_to_xyz_str(structure?: AnyStructure): string; export declare function structure_to_cif_str(structure?: AnyStructure): string; export declare function structure_to_poscar_str(structure?: AnyStructure): string; export declare function structure_to_json_str(structure?: AnyStructure): string; export declare const STRUCT_TEXT_FORMATS: { readonly json: { readonly to_str: typeof structure_to_json_str; readonly ext: "json"; readonly mime: "application/json"; }; readonly xyz: { readonly to_str: typeof structure_to_xyz_str; readonly ext: "xyz"; readonly mime: "text/plain"; }; readonly cif: { readonly to_str: typeof structure_to_cif_str; readonly ext: "cif"; readonly mime: "chemical/x-cif"; }; readonly poscar: { readonly to_str: typeof structure_to_poscar_str; readonly ext: "poscar"; readonly mime: "text/plain"; }; }; export type StructTextFormat = keyof typeof STRUCT_TEXT_FORMATS; export declare function export_structure_as(fmt: StructTextFormat, structure?: AnyStructure): void; export declare function export_structure_as_glb(scene: Scene | null, structure: AnyStructure | undefined): void; export declare function export_structure_as_obj(scene: Scene | null, structure: AnyStructure | undefined): void;