/** * Copyright (c) 2019-2025 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal * @author Alexander Rose * @author Adam Midlik */ 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

extends PresetProvider { } export declare function StructureRepresentationPresetProvider(repr: StructureRepresentationPresetProvider): StructureRepresentationPresetProvider; export declare namespace StructureRepresentationPresetProvider { type Params

= P extends StructureRepresentationPresetProvider ? T : never; type State

= P extends StructureRepresentationPresetProvider ? S : never; type Result = { components?: { [name: string]: StateObjectSelector | undefined; }; representations?: { [name: string]: StateObjectSelector | undefined; }; }; const CommonParams: { ignoreHydrogens: PD.Base; ignoreHydrogensVariant: PD.Base<"all" | "non-polar" | undefined>; ignoreLight: PD.Base; quality: PD.Base<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined>; theme: PD.Base | undefined; }> | undefined>; }; type CommonParams = PD.ValuesFor; 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" | "residue-charge" | "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" | "residue-charge" | "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, "element-symbol"> | PD.NamedParams, "uniform"> | PD.NamedParams, "generate"> | PD.NamedParams, "colors">; asymId: "label" | "auth"; }>, "chain-id"> | PD.NamedParams, "generate"> | PD.NamedParams, "colors">; }>, "operator-name"> | PD.NamedParams, "generate"> | PD.NamedParams, "colors">; }>, "entity-id"> | PD.NamedParams, "generate"> | PD.NamedParams, "colors">; }>, "entity-source"> | PD.NamedParams, "generate"> | PD.NamedParams, "colors">; }>, "model-index"> | PD.NamedParams, "generate"> | PD.NamedParams, "colors">; }>, "structure-index"> | PD.NamedParams, "generate"> | PD.NamedParams, "colors">; }>, "unit-index"> | PD.NamedParams, "generate"> | PD.NamedParams, "colors">; }>, "trajectory-index">>; saturation: PD.Numeric; lightness: PD.Numeric; colors: PD.Mapped, "default"> | PD.NamedParams, "custom">>; }>>; }; function updateFocusRepr(plugin: PluginContext, structure: Structure, themeName: T | undefined, themeParams: ColorTheme.BuiltInParams | undefined): Promise | undefined; } type _Result = StructureRepresentationPresetProvider.Result; export declare function presetStaticComponent(plugin: PluginContext, structure: StateObjectRef, type: StaticStructureComponentType, params?: { label?: string; tags?: string[]; }): Promise>, import("../../../mol-state/index.js").StateObject>, any>> | undefined>; export declare function presetSelectionComponent(plugin: PluginContext, structure: StateObjectRef, query: keyof typeof Q, params?: { label?: string; tags?: string[]; }): Promise>, import("../../../mol-state/index.js").StateObject>, any>> | undefined>; export declare const PresetStructureRepresentations: { empty: StructureRepresentationPresetProvider; 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>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; }; representations: { polymer: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>>; }; } | { components: { all: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; branched: undefined; }; representations: { all: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, 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>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; branched: undefined; }; representations: { all: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, 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>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; }; representations: { polymer: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, 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>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; ligand: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; nonStandard: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; branched: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; water: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; ion: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; lipid: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; coarse: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; }; representations: { polymer: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>>; ligand: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>>; nonStandard: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>>; branchedBallAndStick: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>>; branchedSnfg3d: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>>; water: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>>; ion: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>>; lipid: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>>; coarse: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, 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>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; nucleic: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; }; representations: { protein: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>>; nucleic: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, 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>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; lipid: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; }; representations: { polymer: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>>; lipid: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, 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>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; branched: undefined; }; representations: { all: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, 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>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; branched: undefined; }; representations: { all: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, 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>, import("../../../mol-state/index.js").StateObject>, any>> | undefined; }; representations: { gaussianSurface: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>>; cartoon: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>>; ballAndStick: StateObjectSelector>, import("../../../mol-state/index.js").StateObject>, any>>; }; }>; }; export type PresetStructureRepresentations = typeof PresetStructureRepresentations; export {};