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
 * <SampleViz
 *     context={{
 *          contrastConfig: {
 *              colors: ['white', 'black']
 *          }
 *     }}
 *     options={{
 *         color1: 'green',
 *         maxContrastOfColor1: '> 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 config;
    constructor(config?: MaxContrastConfig);
    protected formatTypedValue(p: DataPoint<'color'>): TypedValue<'color'>;
}
