import type { ChemicalElement, ElementSymbol } from '../element'; import type { Vec2 } from '../math'; import type { Snippet } from 'svelte'; export { COLOR_OVERRIDE_KEY_SEPARATOR, make_color_override_key } from './shared'; export type AxisItem> = { label: string; key?: string; sort_value?: number; category?: string; data?: T; }; export type CellContext = { x_item: AxisItem; y_item: AxisItem; x_idx: number; y_idx: number; value: number | string | null; bg_color: string | null; }; export declare const ORDERING_LABELS: { readonly atomic_number: "Atomic Number"; readonly mendeleev_number: "Pettifor Chemical Similarity"; readonly alphabetical: "Alphabetical"; readonly atomic_mass: "Atomic Mass"; readonly electronegativity: "Pauling Electronegativity"; readonly first_ionization: "Ionization Energy"; readonly melting_point: "Melting Point"; readonly atomic_radius: "Atomic Radius"; readonly density: "Density"; readonly n_valence: "Valence Electrons"; }; export type ElementAxisOrderingKey = keyof typeof ORDERING_LABELS; export type ElementAxisOrdering = ElementAxisOrderingKey | ((a: ChemicalElement, b: ChemicalElement) => number); export type NormalizeMode = `linear` | `log` | ((value: number, min: number, max: number) => number); export type DomainMode = `auto` | `robust` | `fixed`; export type LegendPosition = `right` | `bottom`; export type SymmetricMode = boolean | `lower` | `upper`; export type HeatmapTooltipProp = Snippet<[CellContext]> | boolean; export type HeatmapSelection = { x_idx: number; y_idx: number; }; export type HeatmapExportFormat = `csv` | `json`; export type HeatmapBrushPayload = { x_range: Vec2; y_range: Vec2; cells: CellContext[]; }; export declare const ELEMENT_ORDERINGS: ElementAxisOrderingKey[]; export declare function matrix_to_rows(x_items: AxisItem[], y_items: AxisItem[], values: (number | string | null)[][] | Record>): Record[]; export declare function rows_to_csv(rows: Record[]): string; export declare function elements_to_axis(symbols?: ElementSymbol[], ordering?: ElementAxisOrdering): AxisItem[]; export { default as HeatmapMatrix } from './HeatmapMatrix.svelte'; export { default as HeatmapMatrixControls } from './HeatmapMatrixControls.svelte';