import type { $Values } from 'utility-types';
import type { OpenClosedBoundsConfig } from './bounds';
import type { Color } from '../../../common/colors';
/**
 * @public
 */
export declare const ColorBandValueType: Readonly<{
    /**
     * Value in the scaled space
     */
    Scale: "scale";
    /**
     * Percentage of the scaled space as a ratio from `0` to `1`
     */
    Percentage: "percentage";
}>;
/** @public */
export type ColorBandValueType = $Values<typeof ColorBandValueType>;
/** @public */
export interface ColorBandValue {
    /**
     * Type of value
     *
     * @defaultValue `scale`
     */
    type: ColorBandValueType;
    value: number;
}
/** @public */
export type ColorBandConfig = OpenClosedBoundsConfig<number | ColorBandValue> & {
    /**
     * Color to be applied to band
     */
    color: Color;
};
/** @public */
export interface ColorBandSimpleConfig {
    /**
     * Distinct color steps to defined discrete color breakdown
     * Defaults to intervals between ticks
     *
     * Number - scales colors evenly n times, does not support continuous color blending (i.e. n \>\> 10)
     * Array of numbers - defines the color stop positions
     *
     * See https://gka.github.io/chroma.js/#scale-classes
     */
    steps?: number | number[];
    colors: Color[];
}
/** @public */
export type ColorBandComplexConfig = ColorBandConfig[];
/**
 * Defines the color of bullet chart bands
 * @public
 */
export type BulletColorConfig = Color[] | ColorBandSimpleConfig | ColorBandComplexConfig;
//# sourceMappingURL=color.d.ts.map