import type { ColoredRange, ColorPalette, LegendProps } from '@dynatrace/strato-components-preview/charts';
/** The props common to all different legends */
export type BaseLegendProps = Omit<LegendProps, 'resizable'>;
/** The sequential legend props */
export interface SequentialLegendProps extends BaseLegendProps {
    /** The min boundary */
    min: number;
    /** The max boundary */
    max: number;
    /** The color palette to apply to the legend */
    colorPalette?: string[] | ColorPalette;
}
/** The categorical legend props */
export interface CategoricalLegendProps extends BaseLegendProps {
    /** Available categories to be shown in the legend */
    categories: string[];
    /** The color palette to apply to the legend */
    colorPalette: string[] | ColorPalette;
}
/** The threshold legend props */
export interface ThresholdLegendProps extends BaseLegendProps {
    /** Ranges of the threshold legend */
    ranges: ColoredRange[];
}
/** The internal configs common to all different legends */
export type BaseLegendConfig = Omit<LegendProps, 'resizable'>;
/** The sequential legend internal config */
export interface SequentialLegendConfig extends BaseLegendConfig {
    type: 'sequential';
    /** The min boundary */
    min: number;
    /** The max boundary */
    max: number;
    /** The color palette to apply to the legend */
    colorPalette: string[] | ColorPalette;
}
export interface CategoricalLegendConfig extends BaseLegendConfig {
    type: 'categorical';
    categories: string[];
    /** The color palette to apply to the legend */
    colorPalette: string[] | ColorPalette;
}
export interface ThresholdLegendConfig extends BaseLegendConfig {
    type: 'threshold';
    /** Ranges of the threshold legend */
    ranges: ColoredRange[];
}
export type MapLegendConfig = SequentialLegendConfig | ThresholdLegendConfig | CategoricalLegendConfig;
