/** * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal */ import { ParamDefinition as PD } from '../../mol-util/param-definition.js'; import { Expression } from '../../mol-script/language/expression.js'; import { StructureElement, Structure } from '../../mol-model/structure.js'; import { StructureQueryHelper } from './structure-query.js'; import { PluginStateObject as SO } from '../objects.js'; import { StateTransformer, StateObject } from '../../mol-state/index.js'; export declare const StaticStructureComponentTypes: readonly ["all", "polymer", "protein", "nucleic", "water", "ion", "lipid", "branched", "ligand", "non-standard", "coarse"]; export type StaticStructureComponentType = (typeof StaticStructureComponentTypes)[number]; export declare const StructureComponentParams: () => { type: PD.Mapped | PD.NamedParams | PD.NamedParams | PD.NamedParams>; nullIfEmpty: PD.Base; label: PD.Text; }; export type StructureComponentParams = PD.ValuesFor>; export declare function createStructureComponent(a: Structure, params: StructureComponentParams, cache: { source: Structure; entry?: StructureQueryHelper.CacheEntry; }): StateObject | SO.Molecule.Structure; export declare function updateStructureComponent(a: Structure, b: SO.Molecule.Structure, oldParams: StructureComponentParams, newParams: StructureComponentParams, cache: { source: Structure; entry?: StructureQueryHelper.CacheEntry; }): StateTransformer.UpdateResult;