export interface ColorScheme {
    /** Human-readable display name */
    label: string;
    /**
     * Return a CSS colour string for a categorical bin number.
     * Index 0 conventionally means "no data / unknown".
     */
    forBin: (bin: number) => string;
    /**
     * Return a CSS colour string for a continuous value t ∈ [0, 1].
     * Values are pre-normalized by buildView before this is called.
     */
    forValue: (t: number) => string;
}
/**
 * Register a named colour scheme, making it available to buildView via the
 * colorScheme option.  Call this once at app startup before rendering.
 *
 * `forBin` and `forValue` must return valid CSS color strings — invalid values
 * produce silent rendering artifacts (blank or black rectangles).
 *
 * @example
 * registerColorScheme('my-brand', {
 *   label: 'My Brand',
 *   forBin: (bin) => MY_BRAND_BINS[bin] ?? '#ccc',
 *   forValue: (t) => `hsl(${200 + t * 60}, 70%, ${30 + t * 40}%)`,
 * });
 */
export declare function registerColorScheme(name: string, scheme: ColorScheme): void;
/**
 * Retrieve a registered scheme by name.  Falls back to 'default' if the name
 * is not found, so callers never receive undefined.
 */
export declare function getColorScheme(name?: string): ColorScheme;
/** Return all registered schemes as { name, label } pairs, in insertion order. */
export declare function listColorSchemes(): Array<{
    name: string;
    label: string;
}>;
//# sourceMappingURL=colorSchemes.d.ts.map