/**
 * Copyright (c) 2018-2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author Alexander Rose <alexander.rose@weirdbyte.de>
 */
import { Color, ColorListEntry } from './color';
import { NumberArray } from '../../mol-util/type-helpers';
import { ScaleLegend } from '../legend';
export interface ColorScale {
    /** Returns hex color for given value */
    color: (value: number) => Color;
    /** Copies color to rgb int8 array */
    colorToArray: (value: number, array: NumberArray, offset: number) => void;
    /** Copies normalized (0 to 1) hex color to rgb array */
    normalizedColorToArray: (value: number, array: NumberArray, offset: number) => void;
    /**  */
    setDomain: (min: number, max: number) => void;
    /** Legend */
    readonly legend: ScaleLegend;
}
export declare const DefaultColorScaleProps: {
    domain: [number, number];
    reverse: boolean;
    listOrName: ColorListEntry[] | "orange-red" | "purple-blue" | "blue-purple" | "oranges" | "blue-green" | "yellow-orange-brown" | "yellow-green" | "reds" | "red-purple" | "greens" | "yellow-green-blue" | "purples" | "green-blue" | "greys" | "yellow-orange-red" | "purple-red" | "blues" | "purple-blue-green" | "spectral" | "red-yellow-green" | "red-blue" | "pink-yellow-green" | "purple-green" | "red-yellow-blue" | "brown-white-green" | "red-grey" | "orange-purple" | "set-2" | "accent" | "set-1" | "set-3" | "dark-2" | "paired" | "pastel-2" | "pastel-1" | "many-distinct" | "magma" | "inferno" | "plasma" | "viridis" | "cividis" | "twilight" | "turbo" | "rainbow" | "red-white-blue";
    minLabel: string | undefined;
    maxLabel: string | undefined;
};
export declare type ColorScaleProps = Partial<typeof DefaultColorScaleProps>;
export declare namespace ColorScale {
    function create(props: ColorScaleProps): ColorScale;
}
