import { ExpressionSpecification } from 'maplibre-gl';
import type { Feature, FeatureCollection, BBox } from 'geojson';
import { Color, ColorScale, DataBounds } from 'types';
import type { ChoroplethDataValue, ChoroplethFixedTooltipDescription, MapFilter, ChoroplethTooltipFormatter, MapRenderTooltipFunction, ComputeTooltipFunction, ChoroplethLayer } from './types';
export declare const LIGHT_GREY: Color;
export declare const DARK_GREY: Color;
export declare function getDataBounds(values: ChoroplethDataValue[]): DataBounds;
export declare const colorShapes: ({ featureCollection, colorMapping, emptyValueColor, }: {
    featureCollection: FeatureCollection;
    colorMapping: {
        [key: string]: Color;
    };
    emptyValueColor: Color;
}) => FeatureCollection<import("geojson").Geometry, import("geojson").GeoJsonProperties>;
export declare const mapKeyToColor: (values: ChoroplethDataValue[], dataBounds: DataBounds, colorScale: ColorScale, emptyValueColor?: Color) => {
    [s: string]: string;
};
export declare const VOID_BOUNDS: BBox;
export declare const computeMaxZoomFromGeoJsonFeatures: (mapContainer: HTMLElement, features: Feature[], matchKey: string) => number;
export declare const getFixedTooltips: (shapeKeys: string[], features: Feature[], renderTooltip: MapRenderTooltipFunction, matchKey: string) => ChoroplethFixedTooltipDescription[];
/** Transform a filter object from the options into a Maplibre filter expression */
export declare const computeFilterExpression: (filterConfig: MapFilter) => ExpressionSpecification;
export declare const defaultTooltipFormat: ChoroplethTooltipFormatter;
export declare const computeTooltip: ComputeTooltipFunction;
export declare const computeBaseLayer: (fillColor: string | ExpressionSpecification, DefaultColor: Color) => ChoroplethLayer;
export declare const computeMatchExpression: (colors: {
    [s: string]: string;
}, matchKey: string, emptyValueColor: Color) => ExpressionSpecification;
