import type { OptimadeStructure } from '../api/optimade'; import * as math from '../math'; import type { AnyStructure, Crystal, Site, StructureProperties } from './'; import type { Pbc } from './pbc'; export interface ParsedStructure { sites: Site[]; properties?: StructureProperties; lattice?: { matrix: math.Matrix3x3; a: number; b: number; c: number; alpha: number; beta: number; gamma: number; volume: number; pbc?: Pbc; }; } export interface PhonopyCell { lattice: number[][]; points: { symbol: string; coordinates: number[]; mass: number; reduced_to?: number; }[]; reciprocal_lattice?: number[][]; } export interface PhonopyData { phono3py?: { version: string; [key: string]: unknown; }; phonopy?: { version: string; [key: string]: unknown; }; space_group?: { type: string; number: number; Hall_symbol: string; }; primitive_cell?: PhonopyCell; unit_cell?: PhonopyCell; supercell?: PhonopyCell; phonon_primitive_cell?: PhonopyCell; phonon_supercell?: PhonopyCell; phonon_displacements?: unknown[]; [key: string]: unknown; } export declare function parse_poscar(content: string): ParsedStructure | null; export declare function parse_xyz(content: string): ParsedStructure | null; export declare function parse_cif(content: string, wrap_fractional_coords?: boolean, strict?: boolean): ParsedStructure | null; export type CellType = `primitive_cell` | `unit_cell` | `supercell` | `phonon_primitive_cell` | `phonon_supercell` | `auto`; export declare function parse_phonopy_yaml(content: string, cell_type?: CellType): ParsedStructure | null; export declare function is_parsed_structure(obj: unknown): obj is ParsedStructure; export declare function normalize_fractional_coords(structure: ParsedStructure): ParsedStructure; export declare function parse_structure_file(content: string, filename?: string): ParsedStructure; export declare function parse_any_structure(content: string, filename: string): AnyStructure; export declare function parse_optimade_json(content: string): ParsedStructure | null; export declare function parse_optimade_from_raw(raw: unknown): ParsedStructure | null; export declare function is_optimade_json(content: string): boolean; export declare const is_optimade_raw: (raw: unknown) => boolean; export declare function optimade_to_crystal(optimade_structure: OptimadeStructure): Crystal | null; export declare function is_structure_file(filename: string): boolean; export declare const detect_structure_type: (filename: string, content: string) => `crystal` | `molecule` | `unknown`;