import { type D3InterpolateName } from '../colors'; import type { ElementSymbol } from '../element'; import type { ConvexHullConfig, EntryCategoryConfig, HighlightStyle, MarkerSymbol, PhaseData } from './types'; export { compute_hull_stability, entry_is_stable, get_arity, HULL_STABILITY_TOL, is_on_hull, is_unary_entry, } from './entry-stability'; type StabilityEntry = { is_stable?: boolean; e_above_hull?: number; }; export declare const hull_distance_range: (entries: PhaseData[]) => [number, number]; export declare const entry_within_hull_dist: (entry: StabilityEntry, max_dist: number) => boolean; type CategorySource = Pick; export declare function get_entry_category(entry: CategorySource, config: EntryCategoryConfig | null | undefined): string | null; export declare function apply_category_markers(entries: (PhaseData & { marker?: MarkerSymbol; })[], config: EntryCategoryConfig | null | undefined): (PhaseData & { marker?: MarkerSymbol; })[]; export declare const visible_entries: (entries: readonly Entry[], show_stable: boolean, show_unstable: boolean, category?: EntryCategoryConfig | null, hidden_categories?: readonly string[]) => Entry[]; export declare function get_energy_color_scale(color_mode: `stability` | `energy`, color_scale: D3InterpolateName, plot_entries: { e_above_hull?: number; }[]): ((value: number) => string) | null; export declare function get_point_color_for_entry(entry: { is_stable?: boolean; e_above_hull?: number; }, color_mode: `stability` | `energy`, colors: ConvexHullConfig[`colors`] | undefined, energy_scale: ((value: number) => string) | null): string; export declare function calc_max_hull_dist_in_data(processed_entries: PhaseData[]): number; export declare function compute_auto_hull_dist_threshold(n_entries: number, max_hull_dist_in_data: number, static_default: number): number; export declare function auto_threshold_reset(default_threshold: number): (next_source: unknown, current_threshold: number, next_auto_threshold: number) => number | undefined; export declare function current_entry(entry: Entry | null | undefined, entries: readonly Entry[]): Entry | null; export declare function same_entry(entry_a: Entry | null | undefined, entry_b: Entry | null | undefined): boolean; export declare function build_entry_tooltip_text(entry: PhaseData, category?: EntryCategoryConfig | null): string; export declare const hull_style_css: (colors: ConvexHullConfig[`colors`] | undefined) => string; export declare const merge_highlight_style: (custom_style: HighlightStyle | undefined) => Required; export declare function is_entry_highlighted(entry: T, highlighted_list: (string | T)[]): boolean; export interface PolymorphStats { total: number; higher: number; lower: number; equal: number; } export declare function get_composition_label_entries(entries: Iterable): T[]; export declare function compute_all_polymorph_stats(all_entries: PhaseData[]): Map; export interface TemperatureAnalysis { has_temp_data: boolean; available_temperatures: number[]; } export declare function analyze_temperature_data(entries: PhaseData[]): TemperatureAnalysis; export declare function interpolate_energy_at_temperature(entry: PhaseData, temperature: number, max_gap: number): number | null; export interface TemperatureFilterOptions { interpolate?: boolean; max_interpolation_gap?: number; } export declare function filter_entries_at_temperature(entries: PhaseData[], temperature: number, { interpolate, max_interpolation_gap }?: TemperatureFilterOptions): PhaseData[]; export declare function slim_phase_entry(entry: PhaseData, keys: readonly Key[]): Pick; export declare function get_entry_label(entry: Pick, elements?: ElementSymbol[]): string;