import { AbstractFormatter } from '../Formatter'; import { TypedValue } from '../DataPrimitive'; import { DataPoint } from '../DataPoint'; export interface MaxContrastConfig { colors: string[]; default?: string; } /** * MaxContrast can be used to pick the color with maxContrast. * * ```js * color1 | maxContrast(contrastConfig)', // white * color2: 'gray' * maxContrastOfColor2: '> color2 | maxContrast(contrastConfig)', // black * }} * dataSources={{ * primary: { * data: { * fields: [{ name: 'foo' }] * columns: [[100, 200]] * } * } * }} * /> * ``` * Leverages [Chromajs.contrast](https://gka.github.io/chroma.js/#chroma-contrast) to determine contrast between color and values * * ## Config Object * * **colors**: 'string[]' array of colors to compare contrast against * * **default**: 'string' default color if no colors or the contrast is not found * */ export declare class MaxContrast extends AbstractFormatter<'color', 'color'> { private readonly config; constructor(config?: MaxContrastConfig); protected formatTypedValue(p: DataPoint<'color'>): TypedValue<'color'>; }