/**
 * Copyright (c) 2019-2025 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author David Sehnal <david.sehnal@gmail.com>
 * @author Alexander Rose <alexander.rose@weirdbyte.de>
 * @author Adam Midlik <midlik@gmail.com>
 */
import { PresetProvider } from '../preset-provider.js';
import { PluginStateObject } from '../../objects.js';
import { ParamDefinition as PD } from '../../../mol-util/param-definition.js';
import { ColorTheme } from '../../../mol-theme/color.js';
import { Structure } from '../../../mol-model/structure.js';
import { PluginContext } from '../../../mol-plugin/context.js';
import { StateObjectRef, StateObjectSelector } from '../../../mol-state/index.js';
import { StaticStructureComponentType } from '../../helpers/structure-component.js';
import { StructureSelectionQueries as Q } from '../../helpers/structure-selection-query.js';
export interface StructureRepresentationPresetProvider<P = any, S extends _Result = _Result> extends PresetProvider<PluginStateObject.Molecule.Structure, P, S> {
}
export declare function StructureRepresentationPresetProvider<P, S extends _Result>(repr: StructureRepresentationPresetProvider<P, S>): StructureRepresentationPresetProvider<P, S>;
export declare namespace StructureRepresentationPresetProvider {
    type Params<P extends StructureRepresentationPresetProvider> = P extends StructureRepresentationPresetProvider<infer T> ? T : never;
    type State<P extends StructureRepresentationPresetProvider> = P extends StructureRepresentationPresetProvider<infer _, infer S> ? S : never;
    type Result = {
        components?: {
            [name: string]: StateObjectSelector | undefined;
        };
        representations?: {
            [name: string]: StateObjectSelector | undefined;
        };
    };
    const CommonParams: {
        ignoreHydrogens: PD.Base<boolean | undefined>;
        ignoreHydrogensVariant: PD.Base<"all" | "non-polar" | undefined>;
        ignoreLight: PD.Base<boolean | undefined>;
        quality: PD.Base<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined>;
        theme: PD.Base<PD.Normalize<{
            globalName: "occupancy" | "element-index" | "element-symbol" | "uniform" | "shape-group" | "uncertainty" | "volume-value" | "hydrophobicity" | "carbohydrate-symbol" | "chain-id" | "operator-name" | "entity-id" | "entity-source" | "model-index" | "structure-index" | "unit-index" | "trajectory-index" | "molecule-type" | "polymer-id" | "polymer-index" | "residue-name" | "secondary-structure" | "sequence-id" | "illustrative" | "operator-hkl" | "partial-charge" | "atom-id" | "volume-segment" | "external-volume" | "cartoon" | "formal-charge" | "external-structure" | "volume-instance" | undefined;
            globalColorParams: any;
            carbonColor: "element-symbol" | "chain-id" | "operator-name" | undefined;
            symmetryColor: "occupancy" | "element-index" | "element-symbol" | "uniform" | "shape-group" | "uncertainty" | "volume-value" | "hydrophobicity" | "carbohydrate-symbol" | "chain-id" | "operator-name" | "entity-id" | "entity-source" | "model-index" | "structure-index" | "unit-index" | "trajectory-index" | "molecule-type" | "polymer-id" | "polymer-index" | "residue-name" | "secondary-structure" | "sequence-id" | "illustrative" | "operator-hkl" | "partial-charge" | "atom-id" | "volume-segment" | "external-volume" | "cartoon" | "formal-charge" | "external-structure" | "volume-instance" | undefined;
            symmetryColorParams: any;
            focus: PD.Normalize<{
                name: /*elided*/ any;
                params: /*elided*/ any;
            }> | undefined;
        }> | undefined>;
    };
    type CommonParams = PD.ValuesFor<typeof CommonParams>;
    function reprBuilder(plugin: PluginContext, params: CommonParams, structure?: Structure): {
        update: import("../../../mol-state/index.js").StateBuilder.Root;
        builder: import("./representation.js").StructureRepresentationBuilder;
        color: "occupancy" | "element-index" | "element-symbol" | "uniform" | "shape-group" | "uncertainty" | "volume-value" | "hydrophobicity" | "carbohydrate-symbol" | "chain-id" | "operator-name" | "entity-id" | "entity-source" | "model-index" | "structure-index" | "unit-index" | "trajectory-index" | "molecule-type" | "polymer-id" | "polymer-index" | "residue-name" | "secondary-structure" | "sequence-id" | "illustrative" | "operator-hkl" | "partial-charge" | "atom-id" | "volume-segment" | "external-volume" | "cartoon" | "formal-charge" | "external-structure" | "volume-instance" | undefined;
        symmetryColor: "occupancy" | "element-index" | "element-symbol" | "uniform" | "shape-group" | "uncertainty" | "volume-value" | "hydrophobicity" | "carbohydrate-symbol" | "chain-id" | "operator-name" | "entity-id" | "entity-source" | "model-index" | "structure-index" | "unit-index" | "trajectory-index" | "molecule-type" | "polymer-id" | "polymer-index" | "residue-name" | "secondary-structure" | "sequence-id" | "illustrative" | "operator-hkl" | "partial-charge" | "atom-id" | "volume-segment" | "external-volume" | "cartoon" | "formal-charge" | "external-structure" | "volume-instance" | undefined;
        symmetryColorParams: any;
        globalColorParams: any;
        typeParams: {
            quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest";
            ignoreHydrogens: boolean;
            ignoreHydrogensVariant: "all" | "non-polar";
            ignoreLight: boolean;
        };
        ballAndStickColor: Partial<PD.Values<{
            carbonColor: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "element-symbol"> | PD.NamedParams<PD.Normalize<{
                value: import("../../../mol-util/color/index.js").Color;
                saturation: number;
                lightness: number;
            }>, "uniform"> | PD.NamedParams<PD.Normalize<{
                palette: PD.NamedParams<PD.Normalize<{
                    maxCount: /*elided*/ any;
                    hue: /*elided*/ any;
                    chroma: /*elided*/ any;
                    luminance: /*elided*/ any;
                    sort: /*elided*/ any;
                    clusteringStepCount: /*elided*/ any;
                    minSampleCount: /*elided*/ any;
                    sampleCountFactor: /*elided*/ any;
                }>, "generate"> | PD.NamedParams<PD.Normalize<{
                    list: /*elided*/ any;
                }>, "colors">;
                asymId: "label" | "auth";
            }>, "chain-id"> | PD.NamedParams<PD.Normalize<{
                palette: PD.NamedParams<PD.Normalize<{
                    maxCount: /*elided*/ any;
                    hue: /*elided*/ any;
                    chroma: /*elided*/ any;
                    luminance: /*elided*/ any;
                    sort: /*elided*/ any;
                    clusteringStepCount: /*elided*/ any;
                    minSampleCount: /*elided*/ any;
                    sampleCountFactor: /*elided*/ any;
                }>, "generate"> | PD.NamedParams<PD.Normalize<{
                    list: /*elided*/ any;
                }>, "colors">;
            }>, "operator-name"> | PD.NamedParams<PD.Normalize<{
                overrideWater: boolean;
                waterColor: import("../../../mol-util/color/index.js").Color;
                palette: PD.NamedParams<PD.Normalize<{
                    maxCount: /*elided*/ any;
                    hue: /*elided*/ any;
                    chroma: /*elided*/ any;
                    luminance: /*elided*/ any;
                    sort: /*elided*/ any;
                    clusteringStepCount: /*elided*/ any;
                    minSampleCount: /*elided*/ any;
                    sampleCountFactor: /*elided*/ any;
                }>, "generate"> | PD.NamedParams<PD.Normalize<{
                    list: /*elided*/ any;
                }>, "colors">;
            }>, "entity-id"> | PD.NamedParams<PD.Normalize<{
                palette: PD.NamedParams<PD.Normalize<{
                    maxCount: /*elided*/ any;
                    hue: /*elided*/ any;
                    chroma: /*elided*/ any;
                    luminance: /*elided*/ any;
                    sort: /*elided*/ any;
                    clusteringStepCount: /*elided*/ any;
                    minSampleCount: /*elided*/ any;
                    sampleCountFactor: /*elided*/ any;
                }>, "generate"> | PD.NamedParams<PD.Normalize<{
                    list: /*elided*/ any;
                }>, "colors">;
            }>, "entity-source"> | PD.NamedParams<PD.Normalize<{
                palette: PD.NamedParams<PD.Normalize<{
                    maxCount: /*elided*/ any;
                    hue: /*elided*/ any;
                    chroma: /*elided*/ any;
                    luminance: /*elided*/ any;
                    sort: /*elided*/ any;
                    clusteringStepCount: /*elided*/ any;
                    minSampleCount: /*elided*/ any;
                    sampleCountFactor: /*elided*/ any;
                }>, "generate"> | PD.NamedParams<PD.Normalize<{
                    list: /*elided*/ any;
                }>, "colors">;
            }>, "model-index"> | PD.NamedParams<PD.Normalize<{
                palette: PD.NamedParams<PD.Normalize<{
                    maxCount: /*elided*/ any;
                    hue: /*elided*/ any;
                    chroma: /*elided*/ any;
                    luminance: /*elided*/ any;
                    sort: /*elided*/ any;
                    clusteringStepCount: /*elided*/ any;
                    minSampleCount: /*elided*/ any;
                    sampleCountFactor: /*elided*/ any;
                }>, "generate"> | PD.NamedParams<PD.Normalize<{
                    list: /*elided*/ any;
                }>, "colors">;
            }>, "structure-index"> | PD.NamedParams<PD.Normalize<{
                palette: PD.NamedParams<PD.Normalize<{
                    maxCount: /*elided*/ any;
                    hue: /*elided*/ any;
                    chroma: /*elided*/ any;
                    luminance: /*elided*/ any;
                    sort: /*elided*/ any;
                    clusteringStepCount: /*elided*/ any;
                    minSampleCount: /*elided*/ any;
                    sampleCountFactor: /*elided*/ any;
                }>, "generate"> | PD.NamedParams<PD.Normalize<{
                    list: /*elided*/ any;
                }>, "colors">;
            }>, "unit-index"> | PD.NamedParams<PD.Normalize<{
                palette: PD.NamedParams<PD.Normalize<{
                    maxCount: /*elided*/ any;
                    hue: /*elided*/ any;
                    chroma: /*elided*/ any;
                    luminance: /*elided*/ any;
                    sort: /*elided*/ any;
                    clusteringStepCount: /*elided*/ any;
                    minSampleCount: /*elided*/ any;
                    sampleCountFactor: /*elided*/ any;
                }>, "generate"> | PD.NamedParams<PD.Normalize<{
                    list: /*elided*/ any;
                }>, "colors">;
            }>, "trajectory-index">>;
            saturation: PD.Numeric;
            lightness: PD.Numeric;
            colors: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "default"> | PD.NamedParams<PD.Normalize<{
                H: import("../../../mol-util/color/index.js").Color;
                D: import("../../../mol-util/color/index.js").Color;
                T: import("../../../mol-util/color/index.js").Color;
                HE: import("../../../mol-util/color/index.js").Color;
                LI: import("../../../mol-util/color/index.js").Color;
                BE: import("../../../mol-util/color/index.js").Color;
                B: import("../../../mol-util/color/index.js").Color;
                C: import("../../../mol-util/color/index.js").Color;
                N: import("../../../mol-util/color/index.js").Color;
                O: import("../../../mol-util/color/index.js").Color;
                F: import("../../../mol-util/color/index.js").Color;
                NE: import("../../../mol-util/color/index.js").Color;
                NA: import("../../../mol-util/color/index.js").Color;
                MG: import("../../../mol-util/color/index.js").Color;
                AL: import("../../../mol-util/color/index.js").Color;
                SI: import("../../../mol-util/color/index.js").Color;
                P: import("../../../mol-util/color/index.js").Color;
                S: import("../../../mol-util/color/index.js").Color;
                CL: import("../../../mol-util/color/index.js").Color;
                AR: import("../../../mol-util/color/index.js").Color;
                K: import("../../../mol-util/color/index.js").Color;
                CA: import("../../../mol-util/color/index.js").Color;
                SC: import("../../../mol-util/color/index.js").Color;
                TI: import("../../../mol-util/color/index.js").Color;
                V: import("../../../mol-util/color/index.js").Color;
                CR: import("../../../mol-util/color/index.js").Color;
                MN: import("../../../mol-util/color/index.js").Color;
                FE: import("../../../mol-util/color/index.js").Color;
                CO: import("../../../mol-util/color/index.js").Color;
                NI: import("../../../mol-util/color/index.js").Color;
                CU: import("../../../mol-util/color/index.js").Color;
                ZN: import("../../../mol-util/color/index.js").Color;
                GA: import("../../../mol-util/color/index.js").Color;
                GE: import("../../../mol-util/color/index.js").Color;
                AS: import("../../../mol-util/color/index.js").Color;
                SE: import("../../../mol-util/color/index.js").Color;
                BR: import("../../../mol-util/color/index.js").Color;
                KR: import("../../../mol-util/color/index.js").Color;
                RB: import("../../../mol-util/color/index.js").Color;
                SR: import("../../../mol-util/color/index.js").Color;
                Y: import("../../../mol-util/color/index.js").Color;
                ZR: import("../../../mol-util/color/index.js").Color;
                NB: import("../../../mol-util/color/index.js").Color;
                MO: import("../../../mol-util/color/index.js").Color;
                TC: import("../../../mol-util/color/index.js").Color;
                RU: import("../../../mol-util/color/index.js").Color;
                RH: import("../../../mol-util/color/index.js").Color;
                PD: import("../../../mol-util/color/index.js").Color;
                AG: import("../../../mol-util/color/index.js").Color;
                CD: import("../../../mol-util/color/index.js").Color;
                IN: import("../../../mol-util/color/index.js").Color;
                SN: import("../../../mol-util/color/index.js").Color;
                SB: import("../../../mol-util/color/index.js").Color;
                TE: import("../../../mol-util/color/index.js").Color;
                I: import("../../../mol-util/color/index.js").Color;
                XE: import("../../../mol-util/color/index.js").Color;
                CS: import("../../../mol-util/color/index.js").Color;
                BA: import("../../../mol-util/color/index.js").Color;
                LA: import("../../../mol-util/color/index.js").Color;
                CE: import("../../../mol-util/color/index.js").Color;
                PR: import("../../../mol-util/color/index.js").Color;
                ND: import("../../../mol-util/color/index.js").Color;
                PM: import("../../../mol-util/color/index.js").Color;
                SM: import("../../../mol-util/color/index.js").Color;
                EU: import("../../../mol-util/color/index.js").Color;
                GD: import("../../../mol-util/color/index.js").Color;
                TB: import("../../../mol-util/color/index.js").Color;
                DY: import("../../../mol-util/color/index.js").Color;
                HO: import("../../../mol-util/color/index.js").Color;
                ER: import("../../../mol-util/color/index.js").Color;
                TM: import("../../../mol-util/color/index.js").Color;
                YB: import("../../../mol-util/color/index.js").Color;
                LU: import("../../../mol-util/color/index.js").Color;
                HF: import("../../../mol-util/color/index.js").Color;
                TA: import("../../../mol-util/color/index.js").Color;
                W: import("../../../mol-util/color/index.js").Color;
                RE: import("../../../mol-util/color/index.js").Color;
                OS: import("../../../mol-util/color/index.js").Color;
                IR: import("../../../mol-util/color/index.js").Color;
                PT: import("../../../mol-util/color/index.js").Color;
                AU: import("../../../mol-util/color/index.js").Color;
                HG: import("../../../mol-util/color/index.js").Color;
                TL: import("../../../mol-util/color/index.js").Color;
                PB: import("../../../mol-util/color/index.js").Color;
                BI: import("../../../mol-util/color/index.js").Color;
                PO: import("../../../mol-util/color/index.js").Color;
                AT: import("../../../mol-util/color/index.js").Color;
                RN: import("../../../mol-util/color/index.js").Color;
                FR: import("../../../mol-util/color/index.js").Color;
                RA: import("../../../mol-util/color/index.js").Color;
                AC: import("../../../mol-util/color/index.js").Color;
                TH: import("../../../mol-util/color/index.js").Color;
                PA: import("../../../mol-util/color/index.js").Color;
                U: import("../../../mol-util/color/index.js").Color;
                NP: import("../../../mol-util/color/index.js").Color;
                PU: import("../../../mol-util/color/index.js").Color;
                AM: import("../../../mol-util/color/index.js").Color;
                CM: import("../../../mol-util/color/index.js").Color;
                BK: import("../../../mol-util/color/index.js").Color;
                CF: import("../../../mol-util/color/index.js").Color;
                ES: import("../../../mol-util/color/index.js").Color;
                FM: import("../../../mol-util/color/index.js").Color;
                MD: import("../../../mol-util/color/index.js").Color;
                NO: import("../../../mol-util/color/index.js").Color;
                LR: import("../../../mol-util/color/index.js").Color;
                RF: import("../../../mol-util/color/index.js").Color;
                DB: import("../../../mol-util/color/index.js").Color;
                SG: import("../../../mol-util/color/index.js").Color;
                BH: import("../../../mol-util/color/index.js").Color;
                HS: import("../../../mol-util/color/index.js").Color;
                MT: import("../../../mol-util/color/index.js").Color;
                DS: import("../../../mol-util/color/index.js").Color;
                RG: import("../../../mol-util/color/index.js").Color;
                CN: import("../../../mol-util/color/index.js").Color;
                UUT: import("../../../mol-util/color/index.js").Color;
                FL: import("../../../mol-util/color/index.js").Color;
                UUP: import("../../../mol-util/color/index.js").Color;
                LV: import("../../../mol-util/color/index.js").Color;
                UUH: import("../../../mol-util/color/index.js").Color;
            }>, "custom">>;
        }>>;
    };
    function updateFocusRepr<T extends ColorTheme.BuiltIn>(plugin: PluginContext, structure: Structure, themeName: T | undefined, themeParams: ColorTheme.BuiltInParams<T> | undefined): Promise<void> | undefined;
}
type _Result = StructureRepresentationPresetProvider.Result;
export declare function presetStaticComponent(plugin: PluginContext, structure: StateObjectRef<PluginStateObject.Molecule.Structure>, type: StaticStructureComponentType, params?: {
    label?: string;
    tags?: string[];
}): Promise<StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined>;
export declare function presetSelectionComponent(plugin: PluginContext, structure: StateObjectRef<PluginStateObject.Molecule.Structure>, query: keyof typeof Q, params?: {
    label?: string;
    tags?: string[];
}): Promise<StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined>;
export declare const PresetStructureRepresentations: {
    empty: StructureRepresentationPresetProvider<unknown, {}>;
    auto: StructureRepresentationPresetProvider<{
        ignoreHydrogens: boolean | undefined;
        ignoreHydrogensVariant: "all" | "non-polar" | undefined;
        ignoreLight: boolean | undefined;
        quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined;
        theme: PD.Normalize<{
            globalName: /*elided*/ any;
            globalColorParams: /*elided*/ any;
            carbonColor: /*elided*/ any;
            symmetryColor: /*elided*/ any;
            symmetryColorParams: /*elided*/ any;
            focus: /*elided*/ any;
        }> | undefined;
    }, {
        components?: undefined;
        representations?: undefined;
    } | {
        components: {
            polymer: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
        };
        representations: {
            polymer: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
        };
    } | {
        components: {
            all: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
            branched: undefined;
        };
        representations: {
            all: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
        };
    }>;
    'atomic-detail': StructureRepresentationPresetProvider<{
        showCarbohydrateSymbol: boolean;
        ignoreHydrogens: boolean | undefined;
        ignoreHydrogensVariant: "all" | "non-polar" | undefined;
        ignoreLight: boolean | undefined;
        quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined;
        theme: PD.Normalize<{
            globalName: /*elided*/ any;
            globalColorParams: /*elided*/ any;
            carbonColor: /*elided*/ any;
            symmetryColor: /*elided*/ any;
            symmetryColorParams: /*elided*/ any;
            focus: /*elided*/ any;
        }> | undefined;
    }, {
        components?: undefined;
        representations?: undefined;
    } | {
        components: {
            all: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
            branched: undefined;
        };
        representations: {
            all: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
        };
    }>;
    'polymer-cartoon': StructureRepresentationPresetProvider<{
        ignoreHydrogens: boolean | undefined;
        ignoreHydrogensVariant: "all" | "non-polar" | undefined;
        ignoreLight: boolean | undefined;
        quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined;
        theme: PD.Normalize<{
            globalName: /*elided*/ any;
            globalColorParams: /*elided*/ any;
            carbonColor: /*elided*/ any;
            symmetryColor: /*elided*/ any;
            symmetryColorParams: /*elided*/ any;
            focus: /*elided*/ any;
        }> | undefined;
    }, {
        components?: undefined;
        representations?: undefined;
    } | {
        components: {
            polymer: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
        };
        representations: {
            polymer: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
        };
    }>;
    'polymer-and-ligand': StructureRepresentationPresetProvider<{
        ignoreHydrogens: boolean | undefined;
        ignoreHydrogensVariant: "all" | "non-polar" | undefined;
        ignoreLight: boolean | undefined;
        quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined;
        theme: PD.Normalize<{
            globalName: /*elided*/ any;
            globalColorParams: /*elided*/ any;
            carbonColor: /*elided*/ any;
            symmetryColor: /*elided*/ any;
            symmetryColorParams: /*elided*/ any;
            focus: /*elided*/ any;
        }> | undefined;
    }, {
        components?: undefined;
        representations?: undefined;
    } | {
        components: {
            polymer: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
            ligand: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
            nonStandard: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
            branched: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
            water: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
            ion: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
            lipid: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
            coarse: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
        };
        representations: {
            polymer: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
            ligand: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
            nonStandard: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
            branchedBallAndStick: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
            branchedSnfg3d: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
            water: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
            ion: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
            lipid: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
            coarse: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
        };
    }>;
    'protein-and-nucleic': StructureRepresentationPresetProvider<{
        ignoreHydrogens: boolean | undefined;
        ignoreHydrogensVariant: "all" | "non-polar" | undefined;
        ignoreLight: boolean | undefined;
        quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined;
        theme: PD.Normalize<{
            globalName: /*elided*/ any;
            globalColorParams: /*elided*/ any;
            carbonColor: /*elided*/ any;
            symmetryColor: /*elided*/ any;
            symmetryColorParams: /*elided*/ any;
            focus: /*elided*/ any;
        }> | undefined;
    }, {
        components?: undefined;
        representations?: undefined;
    } | {
        components: {
            protein: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
            nucleic: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
        };
        representations: {
            protein: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
            nucleic: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
        };
    }>;
    'coarse-surface': StructureRepresentationPresetProvider<{
        ignoreHydrogens: boolean | undefined;
        ignoreHydrogensVariant: "all" | "non-polar" | undefined;
        ignoreLight: boolean | undefined;
        quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined;
        theme: PD.Normalize<{
            globalName: /*elided*/ any;
            globalColorParams: /*elided*/ any;
            carbonColor: /*elided*/ any;
            symmetryColor: /*elided*/ any;
            symmetryColorParams: /*elided*/ any;
            focus: /*elided*/ any;
        }> | undefined;
    }, {
        components?: undefined;
        representations?: undefined;
    } | {
        components: {
            polymer: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
            lipid: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
        };
        representations: {
            polymer: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
            lipid: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
        };
    }>;
    illustrative: StructureRepresentationPresetProvider<{
        ignoreHydrogens: boolean | undefined;
        ignoreHydrogensVariant: "all" | "non-polar" | undefined;
        ignoreLight: boolean | undefined;
        quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined;
        theme: PD.Normalize<{
            globalName: /*elided*/ any;
            globalColorParams: /*elided*/ any;
            carbonColor: /*elided*/ any;
            symmetryColor: /*elided*/ any;
            symmetryColorParams: /*elided*/ any;
            focus: /*elided*/ any;
        }> | undefined;
    }, {
        components?: undefined;
        representations?: undefined;
    } | {
        components: {
            all: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
            branched: undefined;
        };
        representations: {
            all: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
        };
    }>;
    'molecular-surface': StructureRepresentationPresetProvider<{
        ignoreHydrogens: boolean | undefined;
        ignoreHydrogensVariant: "all" | "non-polar" | undefined;
        ignoreLight: boolean | undefined;
        quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined;
        theme: PD.Normalize<{
            globalName: /*elided*/ any;
            globalColorParams: /*elided*/ any;
            carbonColor: /*elided*/ any;
            symmetryColor: /*elided*/ any;
            symmetryColorParams: /*elided*/ any;
            focus: /*elided*/ any;
        }> | undefined;
    }, {
        components?: undefined;
        representations?: undefined;
    } | {
        components: {
            all: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
            branched: undefined;
        };
        representations: {
            all: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
        };
    }>;
    'auto-lod': StructureRepresentationPresetProvider<{
        ignoreHydrogens: boolean | undefined;
        ignoreHydrogensVariant: "all" | "non-polar" | undefined;
        ignoreLight: boolean | undefined;
        quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined;
        theme: PD.Normalize<{
            globalName: /*elided*/ any;
            globalColorParams: /*elided*/ any;
            carbonColor: /*elided*/ any;
            symmetryColor: /*elided*/ any;
            symmetryColorParams: /*elided*/ any;
            focus: /*elided*/ any;
        }> | undefined;
    }, {
        components?: undefined;
        representations?: undefined;
    } | {
        components: {
            all: StateObjectSelector<PluginStateObject.Molecule.Structure, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>> | undefined;
        };
        representations: {
            gaussianSurface: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
            cartoon: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
            ballAndStick: StateObjectSelector<PluginStateObject.Molecule.Structure.Representation3D, import("../../../mol-state/index.js").StateTransformer<import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, import("../../../mol-state/index.js").StateObject<any, import("../../../mol-state/index.js").StateObject.Type<any>>, any>>;
        };
    }>;
};
export type PresetStructureRepresentations = typeof PresetStructureRepresentations;
export {};
