import type { ScaleOrdinal, ScaleQuantize, ScaleThreshold } from 'd3-scale';
import React, { type PropsWithChildren } from 'react';
import type { MapLegendConfig } from '../types/legend.js';
export declare function buildCategoricalScale(scale: ScaleOrdinal<string, string>): (value: string) => string | undefined;
export declare function buildNumericScale(scale: ScaleThreshold<number, string> | ScaleQuantize<string>): (value: number) => string | undefined;
export declare function buildClampedScale(legend: MapLegendConfig, scale: ScaleQuantize<string> | ScaleThreshold<number, string> | ScaleOrdinal<string, string>): (value: string | number) => string | undefined;
/**
 * This provider depends on {@link ColorScaleProvider} and will hold
 * a function to convert a value into a color or undefined in case is out
 * of the domain.
 * @example to get the color needed for the value of a data point based on the legend, the use of the function hold by this provider will be enough.
 *
 * @param children -
 */
export declare const LayerColorStrategyProvider: ({ children }: PropsWithChildren) => React.JSX.Element;
