/**
 * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author Alexander Rose <alexander.rose@weirdbyte.de>
 */
import { RepresentationRegistry, Representation, RepresentationProvider } from '../representation';
import { Volume } from '../../mol-model/volume';
export declare class VolumeRepresentationRegistry extends RepresentationRegistry<Volume, Representation.State> {
    constructor();
}
export declare namespace VolumeRepresentationRegistry {
    export const BuiltIn: {
        isosurface: import("./representation").VolumeRepresentationProvider<{
            visuals: import("../../mol-util/param-definition").ParamDefinition.MultiSelect<"wireframe" | "solid">;
            quality: {
                isEssential: boolean;
                type: "select";
                options: readonly (readonly ["custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest", string] | readonly ["custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest", string, string | undefined])[];
                cycle?: boolean | undefined;
                isOptional?: boolean | undefined;
                defaultValue: "custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest";
                label?: string | undefined;
                description?: string | undefined;
                legend?: import("../../mol-util/legend").Legend | undefined;
                fieldLabels?: {
                    [name: string]: string;
                } | undefined;
                isHidden?: boolean | undefined;
                shortLabel?: boolean | undefined;
                twoColumns?: boolean | undefined;
                category?: string | undefined;
                hideIf?: ((currentGroup: any) => boolean) | undefined;
                help?: ((value: any) => {
                    description?: string | undefined;
                    legend?: import("../../mol-util/legend").Legend | undefined;
                }) | undefined;
            };
            sizeFactor: import("../../mol-util/param-definition").ParamDefinition.Numeric;
            isoValue: import("../../mol-util/param-definition").ParamDefinition.Conditioned<Readonly<{
                kind: "absolute";
                absoluteValue: number;
            }> | Readonly<{
                kind: "relative";
                relativeValue: number;
            }>, import("../../mol-util/param-definition").ParamDefinition.Base<Readonly<{
                kind: "absolute";
                absoluteValue: number;
            }> | Readonly<{
                kind: "relative";
                relativeValue: number;
            }>>, {
                absolute: import("../../mol-util/param-definition").ParamDefinition.Converted<Readonly<{
                    kind: "absolute";
                    absoluteValue: number;
                }>, number>;
                relative: import("../../mol-util/param-definition").ParamDefinition.Converted<Readonly<{
                    kind: "relative";
                    relativeValue: number;
                }>, number>;
            }>;
            lineSizeAttenuation: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
            alpha: import("../../mol-util/param-definition").ParamDefinition.Numeric;
            tryUseGpu: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
            doubleSided: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
            flipSided: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
            flatShaded: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
            ignoreLight: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
            xrayShaded: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
        }, "isosurface">;
        slice: import("./representation").VolumeRepresentationProvider<{
            quality: {
                isEssential: boolean;
                type: "select";
                options: readonly (readonly ["custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest", string] | readonly ["custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest", string, string | undefined])[];
                cycle?: boolean | undefined;
                isOptional?: boolean | undefined;
                defaultValue: "custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest";
                label?: string | undefined;
                description?: string | undefined;
                legend?: import("../../mol-util/legend").Legend | undefined;
                fieldLabels?: {
                    [name: string]: string;
                } | undefined;
                isHidden?: boolean | undefined;
                shortLabel?: boolean | undefined;
                twoColumns?: boolean | undefined;
                category?: string | undefined;
                hideIf?: ((currentGroup: any) => boolean) | undefined;
                help?: ((value: any) => {
                    description?: string | undefined;
                    legend?: import("../../mol-util/legend").Legend | undefined;
                }) | undefined;
            };
            dimension: import("../../mol-util/param-definition").ParamDefinition.Mapped<import("../../mol-util/param-definition").ParamDefinition.NamedParams<number, "y"> | import("../../mol-util/param-definition").ParamDefinition.NamedParams<number, "x"> | import("../../mol-util/param-definition").ParamDefinition.NamedParams<number, "z">>;
            isoValue: import("../../mol-util/param-definition").ParamDefinition.Conditioned<Readonly<{
                kind: "absolute";
                absoluteValue: number;
            }> | Readonly<{
                kind: "relative";
                relativeValue: number;
            }>, import("../../mol-util/param-definition").ParamDefinition.Base<Readonly<{
                kind: "absolute";
                absoluteValue: number;
            }> | Readonly<{
                kind: "relative";
                relativeValue: number;
            }>>, {
                absolute: import("../../mol-util/param-definition").ParamDefinition.Converted<Readonly<{
                    kind: "absolute";
                    absoluteValue: number;
                }>, number>;
                relative: import("../../mol-util/param-definition").ParamDefinition.Converted<Readonly<{
                    kind: "relative";
                    relativeValue: number;
                }>, number>;
            }>;
            interpolation: import("../../mol-util/param-definition").ParamDefinition.Select<"bspline" | "nearest" | "catmulrom" | "mitchell">;
            alpha: import("../../mol-util/param-definition").ParamDefinition.Numeric;
        }, "slice">;
        'direct-volume': import("./representation").VolumeRepresentationProvider<{
            quality: {
                isEssential: boolean;
                type: "select";
                options: readonly (readonly ["custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest", string] | readonly ["custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest", string, string | undefined])[];
                cycle?: boolean | undefined;
                isOptional?: boolean | undefined;
                defaultValue: "custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest";
                label?: string | undefined;
                description?: string | undefined;
                legend?: import("../../mol-util/legend").Legend | undefined;
                fieldLabels?: {
                    [name: string]: string;
                } | undefined;
                isHidden?: boolean | undefined;
                shortLabel?: boolean | undefined;
                twoColumns?: boolean | undefined;
                category?: string | undefined;
                hideIf?: ((currentGroup: any) => boolean) | undefined;
                help?: ((value: any) => {
                    description?: string | undefined;
                    legend?: import("../../mol-util/legend").Legend | undefined;
                }) | undefined;
            };
            doubleSided: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
            flipSided: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
            flatShaded: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
            ignoreLight: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
            xrayShaded: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
            renderMode: import("../../mol-util/param-definition").ParamDefinition.Mapped<import("../../mol-util/param-definition").ParamDefinition.NamedParams<import("../../mol-util/param-definition").ParamDefinition.Normalize<{
                controlPoints: import("../../mol-math/linear-algebra/3d/vec2").Vec2[];
                list: {
                    kind: "set" | "interpolate";
                    colors: import("../../mol-util/color/color").ColorListEntry[];
                };
            }>, "volume"> | import("../../mol-util/param-definition").ParamDefinition.NamedParams<import("../../mol-util/param-definition").ParamDefinition.Normalize<{
                isoValue: Readonly<{
                    kind: "absolute";
                    absoluteValue: number;
                }> | Readonly<{
                    kind: "relative";
                    relativeValue: number;
                }>;
                singleLayer: boolean;
            }>, "isosurface">>;
            stepsPerCell: import("../../mol-util/param-definition").ParamDefinition.Numeric;
            jumpLength: import("../../mol-util/param-definition").ParamDefinition.Numeric;
            alpha: import("../../mol-util/param-definition").ParamDefinition.Numeric;
        }, "direct-volume">;
    };
    type _BuiltIn = typeof BuiltIn;
    export type BuiltIn = keyof _BuiltIn;
    export type BuiltInParams<T extends BuiltIn> = Partial<RepresentationProvider.ParamValues<_BuiltIn[T]>>;
    export {};
}
