export interface OptimadeStructure { id: string; type: `structures`; attributes: { chemical_formula_descriptive?: string; chemical_formula_reduced?: string; chemical_formula_anonymous?: string; dimension_types?: number[]; nperiodic_dimensions?: number; lattice_vectors?: number[][]; cartesian_site_positions?: number[][]; species_at_sites?: string[]; species?: { name: string; chemical_symbols?: string[]; concentration?: number[]; mass?: number[]; original_name?: string; }[]; n_sites?: number; last_modified?: string; immutable_id?: string; [key: string]: unknown; }; relationships?: Record; links?: Record; } export interface OptimadeProvider { id: string; type: `links`; attributes: { name: string; description?: string; base_url: string; homepage?: string; version?: string; [key: string]: unknown; }; } export declare function fetch_optimade_providers(): Promise; export declare const encode_structure_id: (id: string) => string; export declare const decode_structure_id: (encoded_id: string) => string; export declare function detect_provider_from_slug(slug: string, providers: OptimadeProvider[]): string; export declare function fetch_optimade_structure(structure_id: string, provider: string, providers: OptimadeProvider[]): Promise; export declare function fetch_suggested_structures(provider: string, providers: OptimadeProvider[], limit?: number): Promise;