import { type GradientStop } from "./gradient"; export type { GradientStop } from "./gradient"; export interface Theme { fontFamily: string; tickColor: string; labelColor: string; axisLineColor: string; gridlineColor: string; backgroundColor: string; gradientStops: GradientStop[]; legendText: string; legendBorder: string; tooltipBg: string; tooltipText: string; tooltipBorder: string; /** * Fill opacity for area glyphs. `--psp-charts--area--opacity`. */ areaOpacity: number; /** * Pixel gap between heatmap cells. Controls the inset applied in the * heatmap vertex shader so neighbouring cells remain visually * distinguishable. `--psp-charts--heatmap-gap--px`. */ heatmapGapPx: number; /** * Pixel gap between sunburst arcs (both radial — between ring * levels — and angular — between siblings). Works the same way as * `heatmapGapPx`: a symmetric inset in the vertex shader so the * transparent background shows through as a border. * `--psp-charts--sunburst-gap--px`. */ sunburstGapPx: number; /** * Discrete series palette read from `--psp-charts--series-N--color` * (N = 1, 2, …). Empty when no palette is defined — callers should * fall back to `gradientStops` sampling in that case. */ seriesPalette: [number, number, number][]; } /** * Plain map of CSS variable name → resolved value. Produced on the * main thread via `snapshotThemeVars` and shipped to the worker * Renderer (which has no DOM and can't call `getComputedStyle`). */ export type ThemeSnapshot = Record; /** * Decode a `ThemeSnapshot` into the parsed `Theme` the renderer * consumes. Workers reach this from a serialized snapshot; host code * snapshots from the live DOM via `theme-snapshot.ts` and feeds it * through here. */ export declare function resolveThemeFromVars(vars: ThemeSnapshot): Theme;