import type { D3InterpolateName } from '../colors'; import type { PhaseData } from '../convex-hull/types'; import type { Point2D, Vec2 } from '../math'; export type ChemPotLimits = Partial>; export type ChemPotColorMode = `none` | `energy` | `formation_energy` | `arity` | `entries`; export type ChemPotProjectionMode = `single` | `grid`; export interface ChemPotDiagramConfig { formal_chempots?: boolean; default_min_limit?: number; element_padding?: number; label_stable?: boolean; elements?: string[]; limits?: ChemPotLimits; formulas_to_draw?: string[]; draw_formula_meshes?: boolean; draw_formula_lines?: boolean; formula_colors?: string[]; show_tooltip?: boolean; tooltip_detail_level?: `compact` | `detailed`; color_mode?: ChemPotColorMode; color_scale?: D3InterpolateName; reverse_color_scale?: boolean; interpolate_temperature?: boolean; max_interpolation_gap?: number; projection_mode?: ChemPotProjectionMode; } export interface ChemPotDiagramData { domains: Record; elements: string[]; el_refs: Record; min_entries: PhaseData[]; hyperplanes: number[][]; hyperplane_entries: PhaseData[]; lims: Vec2[]; } export interface ChemPotHoverInfoBase { formula: string; view: `2d` | `3d`; pointer?: Point2D; n_points: number; axis_ranges: AxisRangeData[]; } export interface AxisRangeData { element: string; min_val: number; max_val: number; } export interface ChemPotHoverInfo2D extends ChemPotHoverInfoBase { view: `2d`; } export interface ChemPotHoverInfo3D extends ChemPotHoverInfoBase { view: `3d`; n_vertices: number; n_edges: number; ann_loc: number[]; touches_limits: string[]; is_elemental: boolean; is_draw_formula: boolean; matching_entry_count: number; min_energy_per_atom: number | null; max_energy_per_atom: number | null; neighbors: string[]; } export type ChemPotHoverInfo = ChemPotHoverInfo2D | ChemPotHoverInfo3D; export declare const CHEMPOT_DEFAULTS: { readonly formal_chempots: true; readonly default_min_limit: -50; readonly element_padding: 1; readonly label_stable: true; readonly draw_formula_meshes: true; readonly draw_formula_lines: true; readonly show_tooltip: true; readonly tooltip_detail_level: "detailed"; readonly color_mode: ChemPotColorMode; readonly color_scale: D3InterpolateName; readonly reverse_color_scale: true; readonly interpolate_temperature: true; readonly max_interpolation_gap: 500; readonly projection_mode: ChemPotProjectionMode; readonly formula_colors: readonly ["#1b9e77", "#d95f02", "#7570b3", "#e7298a", "#66a61e", "#e6ab02", "#a6761d", "#666666"]; };