import type { OrdinalLayout, OrdinalScales, OrdinalSceneNode } from "../ordinalTypes";
export declare const barFunnelHatchRenderer: (ctx: CanvasRenderingContext2D, nodes: OrdinalSceneNode[], _scales: OrdinalScales, _layout: OrdinalLayout) => void;
/**
 * Canvas renderer for bar-funnel labels.
 *
 * Draws a floating label above each bar (or bar group) showing:
 *  - Bold percentage (of first step)
 *  - Raw value below it
 *
 * Light/dark mode is decided per-frame from the luminance of the
 * resolved `--semiotic-text` value: if body text is light, we're in
 * dark mode and pair a dark surface with light text; otherwise light
 * mode (white surface, dark text). Pairing the background to whatever
 * text color the consumer's theme actually emits is more robust than
 * sourcing both from independent CSS variables — many sites set
 * `--semiotic-text` and `--semiotic-bg` without setting
 * `--semiotic-tooltip-bg`, which would otherwise leave the label box
 * stuck on its fallback regardless of theme.
 */
export declare const barFunnelLabelRenderer: (ctx: CanvasRenderingContext2D, nodes: OrdinalSceneNode[], _scales: OrdinalScales, _layout: OrdinalLayout) => void;
