import type { ChoroplethCustomColorProps, LegendColorLayerProps } from './coloring.js';
/**
 * Base props to configure a ChoroplethLayer
 * @typeParam T - Object extending a record of string keys and any type of values
 */
export interface ChoroplethLayerBaseProps<T extends Record<string, unknown>> {
    /**
     * An array of data items representing regions to be displayed in the ChoroplethLayer
     */
    data: T[];
    /**
     * A string property or accessor function that specifies how to access the region identifier from the data items.
     * It can be a string representing the key in the data object or a function that extracts the region identifier
     */
    regionAccessor: string | ((t: T) => string);
}
/**
 * The ChoroplethLayer props
 * @typeParam T - Object extending a record of string keys and any type of values
 */
export type ChoroplethLayerProps<T extends Record<string, unknown>> = ChoroplethLayerBaseProps<T> & (ChoroplethCustomColorProps<T> | LegendColorLayerProps);
/** @internal */
export type InternalChoroplethLayerProps<T extends Record<string, unknown>> = {
    layerId: string;
} & ChoroplethLayerProps<T>;
