import type { D3InterpolateName } from '../colors'; import type { Vec2 } from '../math'; import { type BufferGeometry } from 'three/webgpu'; import type { DataRange } from './types'; export declare const ISO_COLORMAPS: readonly ["interpolateViridis", "interpolatePlasma", "interpolateInferno", "interpolateMagma", "interpolateCividis", "interpolateTurbo", "interpolateRdBu", "interpolateRdYlBu", "interpolateSpectral", "interpolatePiYG", "interpolateBrBG", "interpolatePuOr"]; type IsoColormap = (typeof ISO_COLORMAPS)[number]; export declare const DEFAULT_ISO_COLORMAP: IsoColormap; export declare const ISO_COLORMAP_SELECT_PROPS: { options: ("interpolateBrBG" | "interpolatePiYG" | "interpolatePuOr" | "interpolateRdBu" | "interpolateRdYlBu" | "interpolateSpectral" | "interpolateTurbo" | "interpolateViridis" | "interpolateInferno" | "interpolateMagma" | "interpolatePlasma" | "interpolateCividis")[]; color_bar: { bar_style: string; title_style: string; }; liSelectedStyle: string; }; export declare const is_signed_range: (data_range: DataRange) => boolean; export declare const COLORMAP_LUT_SIZE = 256; export declare function build_colormap_lut(colormap: D3InterpolateName, cache: Map, lut_ctor: new (length: number) => Lut, to_rgb: (css: string) => readonly [number, number, number]): Lut; export type ColorRangeSymmetry = boolean | `auto`; export declare function fit_color_range(min: number, max: number, symmetric?: ColorRangeSymmetry): Vec2; export interface VertexColorOptions { colormap: D3InterpolateName; color_range: Vec2; fallback_color?: string; } export declare function scalars_to_vertex_colors(scalars: Float32Array, { colormap, color_range, fallback_color }: VertexColorOptions, out?: Float32Array): Float32Array; export declare function set_vertex_colors(geometry: BufferGeometry, scalars: Float32Array, options: VertexColorOptions): void; export declare function auto_color_config(data_range: DataRange): { colormap: IsoColormap; color_range: Vec2; }; export declare function compute_scalar_range(scalar_arrays: Float32Array[], { symmetric }?: { symmetric?: ColorRangeSymmetry; }): Vec2; export {};