/**
 * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author Alexander Rose <alexander.rose@weirdbyte.de>
 */
import { ElementSymbol } from '../../mol-model/structure/model/types';
import { Color, ColorMap } from '../../mol-util/color';
import { ColorTheme } from '../color';
import { ParamDefinition as PD } from '../../mol-util/param-definition';
import { ThemeDataContext } from '../theme';
export declare const ElementSymbolColors: ColorMap<{
    H: number;
    D: number;
    T: number;
    HE: number;
    LI: number;
    BE: number;
    B: number;
    C: number;
    N: number;
    O: number;
    F: number;
    NE: number;
    NA: number;
    MG: number;
    AL: number;
    SI: number;
    P: number;
    S: number;
    CL: number;
    AR: number;
    K: number;
    CA: number;
    SC: number;
    TI: number;
    V: number;
    CR: number;
    MN: number;
    FE: number;
    CO: number;
    NI: number;
    CU: number;
    ZN: number;
    GA: number;
    GE: number;
    AS: number;
    SE: number;
    BR: number;
    KR: number;
    RB: number;
    SR: number;
    Y: number;
    ZR: number;
    NB: number;
    MO: number;
    TC: number;
    RU: number;
    RH: number;
    PD: number;
    AG: number;
    CD: number;
    IN: number;
    SN: number;
    SB: number;
    TE: number;
    I: number;
    XE: number;
    CS: number;
    BA: number;
    LA: number;
    CE: number;
    PR: number;
    ND: number;
    PM: number;
    SM: number;
    EU: number;
    GD: number;
    TB: number;
    DY: number;
    HO: number;
    ER: number;
    TM: number;
    YB: number;
    LU: number;
    HF: number;
    TA: number;
    W: number;
    RE: number;
    OS: number;
    IR: number;
    PT: number;
    AU: number;
    HG: number;
    TL: number;
    PB: number;
    BI: number;
    PO: number;
    AT: number;
    RN: number;
    FR: number;
    RA: number;
    AC: number;
    TH: number;
    PA: number;
    U: number;
    NP: number;
    PU: number;
    AM: number;
    CM: number;
    BK: number;
    CF: number;
    ES: number;
    FM: number;
    MD: number;
    NO: number;
    LR: number;
    RF: number;
    DB: number;
    SG: number;
    BH: number;
    HS: number;
    MT: number;
    DS: number;
    RG: number;
    CN: number;
    UUT: number;
    FL: number;
    UUP: number;
    LV: number;
    UUH: number;
}>;
export declare type ElementSymbolColors = typeof ElementSymbolColors;
export declare const ElementSymbolColorThemeParams: {
    carbonColor: PD.Mapped<PD.NamedParams<PD.Normalize<{
        palette: PD.NamedParams<PD.Normalize<{
            maxCount: any;
            hue: any;
            chroma: any;
            luminance: any;
            clusteringStepCount: any;
            minSampleCount: any;
        }>, "generate"> | PD.NamedParams<PD.Normalize<{
            list: any;
        }>, "colors">;
        asymId: "label" | "auth";
    }>, "chain-id"> | PD.NamedParams<PD.Normalize<{
        palette: PD.NamedParams<PD.Normalize<{
            maxCount: any;
            hue: any;
            chroma: any;
            luminance: any;
            clusteringStepCount: any;
            minSampleCount: any;
        }>, "generate"> | PD.NamedParams<PD.Normalize<{
            list: any;
        }>, "colors">;
    }>, "operator-name"> | PD.NamedParams<PD.Normalize<unknown>, "element-symbol">>;
    saturation: PD.Numeric;
    lightness: PD.Numeric;
};
export declare type ElementSymbolColorThemeParams = typeof ElementSymbolColorThemeParams;
export declare function getElementSymbolColorThemeParams(ctx: ThemeDataContext): {
    carbonColor: PD.Mapped<PD.NamedParams<PD.Normalize<{
        palette: PD.NamedParams<PD.Normalize<{
            maxCount: any;
            hue: any;
            chroma: any;
            luminance: any;
            clusteringStepCount: any;
            minSampleCount: any;
        }>, "generate"> | PD.NamedParams<PD.Normalize<{
            list: any;
        }>, "colors">;
        asymId: "label" | "auth";
    }>, "chain-id"> | PD.NamedParams<PD.Normalize<{
        palette: PD.NamedParams<PD.Normalize<{
            maxCount: any;
            hue: any;
            chroma: any;
            luminance: any;
            clusteringStepCount: any;
            minSampleCount: any;
        }>, "generate"> | PD.NamedParams<PD.Normalize<{
            list: any;
        }>, "colors">;
    }>, "operator-name"> | PD.NamedParams<PD.Normalize<unknown>, "element-symbol">>;
    saturation: PD.Numeric;
    lightness: PD.Numeric;
};
export declare function elementSymbolColor(colorMap: ElementSymbolColors, element: ElementSymbol): Color;
export declare function ElementSymbolColorTheme(ctx: ThemeDataContext, props: PD.Values<ElementSymbolColorThemeParams>): ColorTheme<ElementSymbolColorThemeParams>;
export declare const ElementSymbolColorThemeProvider: ColorTheme.Provider<ElementSymbolColorThemeParams, 'element-symbol'>;
