import type { ColorScaleType, D3InterpolateName } from '../colors'; import type { AtomColorMode } from '../settings'; import type { AnyStructure, Site } from './'; import type { BondingStrategy } from './bonding'; import type { MoyoDataset } from '@spglib/moyo-wasm'; export interface AtomColorConfig { mode: AtomColorMode; scale?: D3InterpolateName; scale_type: ColorScaleType; color_fn?: (site: Site, idx: number) => number | string; } export interface AtomPropertyColors { colors: string[]; values: (number | string)[]; min_value?: number; max_value?: number; unique_values?: (number | string)[]; } type SymmetryDataWithOrigMap = MoyoDataset & { orig_site_indices_by_input_idx?: number[][]; }; export declare const get_d3_color_scales: () => string[]; export declare function apply_color_scale(vals: number[], scale?: string, type?: ColorScaleType): { colors: string[]; unique_values?: number[]; }; export declare const apply_categorical_color_scale: (vals: string[], scale?: string) => { colors: string[]; unique_values: string[]; }; export declare const get_orig_site_idx: (site: Site | undefined, site_idx: number) => number; export declare function get_coordination_colors(structure: AnyStructure, strategy?: BondingStrategy, scale?: string, type?: ColorScaleType): AtomPropertyColors; export declare function get_wyckoff_colors(structure: AnyStructure, sym_data: SymmetryDataWithOrigMap | null, scale?: string): AtomPropertyColors; export declare function get_custom_colors(structure: AnyStructure, fn: (site: Site, idx: number) => number | string, scale?: string, type?: ColorScaleType): AtomPropertyColors; export declare function get_atom_colors(structure: AnyStructure, config: Partial, bonding_strategy?: BondingStrategy, sym_data?: MoyoDataset | null): AtomPropertyColors; export declare function get_property_colors(structure: AnyStructure | undefined, config: Partial, bonding_strategy: BondingStrategy, sym_data: MoyoDataset | null): AtomPropertyColors | null; export {};