import type { OptimadeStructure } from '../api/optimade'; import type { Vec3 } from '../math'; import * as math from '../math'; import type { AnyStructure, Crystal, Pbc, Site } from './'; export { is_structure_file } from './format-detect'; export declare const parse_poscar: (content: string) => Crystal | null; export declare const parse_xyz: (content: string) => AnyStructure | null; export declare const parse_cif: (content: string) => Crystal | null; export declare const parse_phonopy_yaml: (content: string) => Crystal | null; type StructureLike = Omit & { sites: (Omit & { abc?: Vec3; xyz?: Vec3; })[]; lattice?: { matrix: math.Matrix3x3; pbc?: unknown; }; }; export declare function is_structure_like(obj: unknown): obj is StructureLike; export declare function structure_from_json(raw: StructureLike, { wrap }?: { wrap?: boolean; }): AnyStructure; export declare function normalize_fractional_coords(structure: T, pbc?: Pbc | undefined): T; export declare function parse_structure_file(content: string, filename?: string): AnyStructure; export declare function optimade_structure_from_raw(raw: unknown): OptimadeStructure | null; export declare function optimade_to_structure(optimade: OptimadeStructure): AnyStructure; type StructureKind = `crystal` | `molecule` | `unknown`; export declare const detect_structure_type: (filename: string, content: string) => StructureKind;