/**
 * Copyright (c) 2025 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author David Sehnal <david.sehnal@gmail.com>
 */
import * as Structure from '../../mol-model/structure.js';
import { DataLoci, Loci } from '../../mol-model/loci.js';
import { Volume } from '../../mol-model/volume.js';
import { Shape, ShapeGroup } from '../../mol-model/shape.js';
import * as LinearAlgebra3D from '../../mol-math/linear-algebra/3d.js';
import { PluginContext } from '../../mol-plugin/context.js';
import { PluginBehavior } from '../../mol-plugin/behavior.js';
import { PluginSpec } from '../../mol-plugin/spec.js';
import { PluginStateObject, PluginStateTransform } from '../../mol-plugin-state/objects.js';
export declare const lib: {
    structure: {
        Time: typeof Structure.Time;
        Coordinates: typeof Structure.Coordinates;
        Topology: typeof Structure.Topology;
        Model: typeof Structure.Model;
        Types: typeof Structure.Types;
        Symmetry: typeof Structure.Symmetry;
        StructureSequence: typeof Structure.StructureSequence;
        IndexedCustomProperty: typeof Structure.IndexedCustomProperty;
        StructureElement: typeof Structure.StructureElement;
        Bond: typeof Structure.Bond;
        Structure: typeof Structure.Structure;
        Unit: typeof Structure.Unit;
        StructureSymmetry: typeof Structure.StructureSymmetry;
        StructureProperties: {
            constant: {
                true: Structure.StructureElement.Property<boolean>;
                false: Structure.StructureElement.Property<boolean>;
                zero: Structure.StructureElement.Property<number>;
            };
            atom: {
                key: Structure.StructureElement.Property<Structure.ElementIndex>;
                x: Structure.StructureElement.Property<number>;
                y: Structure.StructureElement.Property<number>;
                z: Structure.StructureElement.Property<number>;
                id: Structure.StructureElement.Property<number>;
                occupancy: Structure.StructureElement.Property<number>;
                B_iso_or_equiv: Structure.StructureElement.Property<number>;
                sourceIndex: Structure.StructureElement.Property<number>;
                type_symbol: Structure.StructureElement.Property<Structure.Types.ElementSymbol>;
                label_atom_id: Structure.StructureElement.Property<string>;
                auth_atom_id: Structure.StructureElement.Property<string>;
                label_alt_id: Structure.StructureElement.Property<string>;
                label_comp_id: Structure.StructureElement.Property<string>;
                auth_comp_id: Structure.StructureElement.Property<string>;
                pdbx_formal_charge: Structure.StructureElement.Property<number>;
                vdw_radius: Structure.StructureElement.Property<number>;
            };
            residue: {
                key: Structure.StructureElement.Property<Structure.ResidueIndex>;
                group_PDB: Structure.StructureElement.Property<"ATOM" | "HETATM">;
                label_comp_id: Structure.StructureElement.Property<string>;
                auth_comp_id: Structure.StructureElement.Property<string>;
                label_seq_id: Structure.StructureElement.Property<number>;
                auth_seq_id: Structure.StructureElement.Property<number>;
                pdbx_PDB_ins_code: Structure.StructureElement.Property<string>;
                isNonStandard: Structure.StructureElement.Property<boolean>;
                hasMicroheterogeneity: Structure.StructureElement.Property<boolean>;
                microheterogeneityCompIds: Structure.StructureElement.Property<string[]>;
                secondary_structure_type: Structure.StructureElement.Property<Structure.Types.SecondaryStructureType>;
                secondary_structure_key: Structure.StructureElement.Property<number>;
                chem_comp_type: Structure.StructureElement.Property<"other" | "d-peptide linking" | "l-peptide linking" | "d-peptide nh3 amino terminus" | "l-peptide nh3 amino terminus" | "d-peptide cooh carboxy terminus" | "l-peptide cooh carboxy terminus" | "dna linking" | "rna linking" | "l-rna linking" | "l-dna linking" | "dna oh 5 prime terminus" | "rna oh 5 prime terminus" | "dna oh 3 prime terminus" | "rna oh 3 prime terminus" | "d-saccharide, beta linking" | "d-saccharide, alpha linking" | "l-saccharide, beta linking" | "l-saccharide, alpha linking" | "l-saccharide" | "d-saccharide" | "saccharide" | "non-polymer" | "peptide linking" | "peptide-like" | "l-gamma-peptide, c-delta linking" | "d-gamma-peptide, c-delta linking" | "l-beta-peptide, c-gamma linking" | "d-beta-peptide, c-gamma linking" | "ion" | "lipid">;
                residueSourceIndex: Structure.StructureElement.Property<number>;
            };
            chain: {
                key: Structure.StructureElement.Property<Structure.ChainIndex>;
                label_asym_id: Structure.StructureElement.Property<string>;
                auth_asym_id: Structure.StructureElement.Property<string>;
                label_entity_id: Structure.StructureElement.Property<string>;
            };
            entity: {
                key: Structure.StructureElement.Property<Structure.EntityIndex>;
                id: Structure.StructureElement.Property<string>;
                type: Structure.StructureElement.Property<"non-polymer" | "polymer" | "macrolide" | "water" | "branched">;
                src_method: Structure.StructureElement.Property<"nat" | "man" | "syn">;
                pdbx_description: Structure.StructureElement.Property<string[]>;
                formula_weight: Structure.StructureElement.Property<number>;
                pdbx_number_of_molecules: Structure.StructureElement.Property<number>;
                details: Structure.StructureElement.Property<string>;
                pdbx_mutation: Structure.StructureElement.Property<string>;
                pdbx_fragment: Structure.StructureElement.Property<string>;
                pdbx_ec: Structure.StructureElement.Property<string[]>;
                pdbx_parent_entity_id: Structure.StructureElement.Property<string>;
                subtype: Structure.StructureElement.Property<import("../../mol-model/structure/model/properties/common.js").EntitySubtype>;
                prd_id: Structure.StructureElement.Property<string>;
            };
            unit: {
                id: Structure.StructureElement.Property<number>;
                chainGroupId: Structure.StructureElement.Property<number>;
                multiChain: Structure.StructureElement.Property<boolean>;
                object_primitive: Structure.StructureElement.Property<"atomistic" | "sphere" | "gaussian">;
                operator_name: Structure.StructureElement.Property<string>;
                instance_id: Structure.StructureElement.Property<string>;
                operator_key: Structure.StructureElement.Property<number>;
                model_index: Structure.StructureElement.Property<number>;
                model_label: Structure.StructureElement.Property<string>;
                model_entry_id: Structure.StructureElement.Property<string>;
                hkl: Structure.StructureElement.Property<LinearAlgebra3D.Vec3>;
                spgrOp: Structure.StructureElement.Property<number>;
                model_num: Structure.StructureElement.Property<number>;
                pdbx_struct_assembly_id: Structure.StructureElement.Property<string>;
                pdbx_struct_oper_list_ids: Structure.StructureElement.Property<any[]>;
                struct_ncs_oper_id: Structure.StructureElement.Property<number>;
            };
            coarse: {
                key: Structure.StructureElement.Property<Structure.ElementIndex>;
                entityKey: Structure.StructureElement.Property<Structure.EntityIndex>;
                x: Structure.StructureElement.Property<number>;
                y: Structure.StructureElement.Property<number>;
                z: Structure.StructureElement.Property<number>;
                asym_id: Structure.StructureElement.Property<string>;
                entity_id: Structure.StructureElement.Property<string>;
                seq_id_begin: Structure.StructureElement.Property<number>;
                seq_id_end: Structure.StructureElement.Property<number>;
                sphere_radius: Structure.StructureElement.Property<number>;
                sphere_rmsf: Structure.StructureElement.Property<number>;
                gaussian_weight: Structure.StructureElement.Property<number>;
                gaussian_covariance_matrix: Structure.StructureElement.Property<LinearAlgebra3D.Mat3>;
            };
        };
        UnitRing: typeof Structure.UnitRing;
        UnitRings: typeof Structure.UnitRings;
        encode_mmCIF_categories(encoder: import("../../mol-io/writer/cif/encoder.js").Encoder, structures: Structure.Structure | Structure.Structure[], params?: {
            exportCtx?: Structure.CifExportContext;
            encoder?: import("../../mol-io/writer/cif/encoder.js").Encoder;
            skipCategoryNames?: Set<string>;
            includedCategoryNames?: Set<string>;
            copyAllCategories?: boolean;
            doNotReindexAtomSiteId?: boolean;
            customProperties?: import("../../mol-model/custom-property.js").CustomPropertyDescriptor[];
            extensions?: {
                molstar_bond_site?: boolean;
            };
        }): void;
        CifExportContext: typeof Structure.CifExportContext;
        mmCIF_Export_Filters: {
            onlyPositions: import("../../mol-io/writer/cif/encoder.js").Category.Filter;
        };
        to_mmCIF: typeof Structure.to_mmCIF;
        Queries: {
            generators: typeof import("../../mol-model/structure/query/queries/generators.js");
            filters: typeof import("../../mol-model/structure/query/queries/filters.js");
            modifiers: typeof import("../../mol-model/structure/query/queries/modifiers.js");
            combinators: typeof import("../../mol-model/structure/query/queries/combinators.js");
            pred: typeof import("../../mol-model/structure/query/predicates.js").Predicates;
            internal: typeof import("../../mol-model/structure/query/queries/internal.js");
            atomset: typeof import("../../mol-model/structure/query/queries/atom-set.js");
        };
        StructureSelection: typeof Structure.StructureSelection;
        StructureQuery: typeof Structure.StructureQuery;
        QueryContext: typeof Structure.QueryContext;
        ArrayTrajectory: typeof Structure.ArrayTrajectory;
    };
    volume: {
        Volume: typeof Volume;
    };
    shape: {
        Shape: typeof Shape;
        ShapeGroup: typeof ShapeGroup;
    };
    loci: {
        Loci: typeof Loci;
        DataLoci: typeof DataLoci;
        EveryLoci: {
            kind: "every-loci";
        };
    };
    math: {
        LinearAlgebra: {
            Mat4: typeof LinearAlgebra3D.Mat4;
            Mat3: typeof LinearAlgebra3D.Mat3;
            Vec2: typeof LinearAlgebra3D.Vec2;
            Vec3: typeof LinearAlgebra3D.Vec3;
            Vec4: typeof LinearAlgebra3D.Vec4;
            Quat: typeof LinearAlgebra3D.Quat;
            EPSILON: 0.000001;
        };
    };
    plugin: {
        PluginContext: typeof PluginContext;
        PluginConfig: {
            item: <T>(key: string, defaultValue?: T) => import("../../mol-plugin/config.js").PluginConfigItem<T>;
            General: {
                IsBusyTimeoutMs: import("../../mol-plugin/config.js").PluginConfigItem<number>;
                DisableAntialiasing: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                DisablePreserveDrawingBuffer: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                PixelScale: import("../../mol-plugin/config.js").PluginConfigItem<number>;
                PickScale: import("../../mol-plugin/config.js").PluginConfigItem<number>;
                Transparency: import("../../mol-plugin/config.js").PluginConfigItem<"blended" | "wboit" | "dpoit">;
                PreferWebGl1: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                AllowMajorPerformanceCaveat: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                PowerPreference: import("../../mol-plugin/config.js").PluginConfigItem<WebGLPowerPreference | undefined>;
                ResolutionMode: import("../../mol-plugin/config.js").PluginConfigItem<"auto" | "scaled" | "native">;
            };
            State: {
                DefaultServer: import("../../mol-plugin/config.js").PluginConfigItem<string>;
                CurrentServer: import("../../mol-plugin/config.js").PluginConfigItem<string>;
                HistoryCapacity: import("../../mol-plugin/config.js").PluginConfigItem<number>;
            };
            VolumeStreaming: {
                Enabled: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                DefaultServer: import("../../mol-plugin/config.js").PluginConfigItem<string>;
                CanStream: import("../../mol-plugin/config.js").PluginConfigItem<(s: Structure.Structure, plugin: PluginContext) => boolean>;
                EmdbHeaderServer: import("../../mol-plugin/config.js").PluginConfigItem<string>;
            };
            Viewport: {
                ShowReset: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                ShowExpand: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                ShowToggleFullscreen: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                ShowControls: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                ShowSettings: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                ShowSelectionMode: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                ShowAnimation: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                ShowTrajectoryControls: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                ShowScreenshotControls: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                ShowIllumination: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                ShowXR: import("../../mol-plugin/config.js").PluginConfigItem<"auto" | "always" | "never">;
            };
            Download: {
                DefaultPdbProvider: import("../../mol-plugin/config.js").PluginConfigItem<"rcsb" | "pdbe" | "pdbj">;
                DefaultEmdbProvider: import("../../mol-plugin/config.js").PluginConfigItem<import("../../mol-plugin-state/actions/volume.js").EmdbDownloadProvider>;
            };
            Structure: {
                SizeThresholds: import("../../mol-plugin/config.js").PluginConfigItem<{
                    smallResidueCount: number;
                    mediumResidueCount: number;
                    largeResidueCount: number;
                    highSymmetryUnitCount: number;
                    fiberResidueCount: number;
                }>;
                DefaultRepresentationPreset: import("../../mol-plugin/config.js").PluginConfigItem<string>;
                DefaultRepresentationPresetParams: import("../../mol-plugin/config.js").PluginConfigItem<import("../../mol-plugin-state/builder/structure/representation-preset.js").StructureRepresentationPresetProvider.CommonParams>;
                SaccharideCompIdMapType: import("../../mol-plugin/config.js").PluginConfigItem<import("../../mol-model/structure/structure/carbohydrates/constants.js").SaccharideCompIdMapType>;
            };
            Background: {
                Styles: import("../../mol-plugin/config.js").PluginConfigItem<[import("../../mol-util/param-definition.js").ParamDefinition.Values<{
                    variant: import("../../mol-util/param-definition.js").ParamDefinition.Mapped<import("../../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../../mol-util/param-definition.js").ParamDefinition.Normalize<unknown>, "off"> | import("../../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                        coverage: "canvas" | "viewport";
                        opacity: number;
                        saturation: number;
                        lightness: number;
                        source: import("../../mol-util/param-definition.js").ParamDefinition.NamedParams<any, "url"> | import("../../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../../mol-util/assets.js").Asset.File | null, "file">;
                        blur: number;
                    }>, "image"> | import("../../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                        centerColor: import("../../mol-util/color/index.js").Color;
                        edgeColor: import("../../mol-util/color/index.js").Color;
                        ratio: number;
                        coverage: "canvas" | "viewport";
                    }>, "radialGradient"> | import("../../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                        opacity: number;
                        saturation: number;
                        lightness: number;
                        faces: import("../../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                            nx: /*elided*/ any;
                            ny: /*elided*/ any;
                            nz: /*elided*/ any;
                            px: /*elided*/ any;
                            py: /*elided*/ any;
                            pz: /*elided*/ any;
                        }>, "urls"> | import("../../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                            nx: /*elided*/ any;
                            ny: /*elided*/ any;
                            nz: /*elided*/ any;
                            px: /*elided*/ any;
                            py: /*elided*/ any;
                            pz: /*elided*/ any;
                        }>, "files">;
                        blur: number;
                        rotation: import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                            x: /*elided*/ any;
                            y: /*elided*/ any;
                            z: /*elided*/ any;
                        }>;
                    }>, "skybox"> | import("../../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../../mol-util/param-definition.js").ParamDefinition.Normalize<{
                        topColor: import("../../mol-util/color/index.js").Color;
                        bottomColor: import("../../mol-util/color/index.js").Color;
                        ratio: number;
                        coverage: "canvas" | "viewport";
                    }>, "horizontalGradient">>;
                }>, string][]>;
            };
        };
        PluginBehavior: typeof PluginBehavior;
        PluginSpec: typeof PluginSpec;
        PluginStateObject: typeof PluginStateObject;
        PluginStateTransform: typeof PluginStateTransform;
        StateTransforms: {
            Data: typeof import("../../mol-plugin-state/transforms/data.js");
            Misc: typeof import("../../mol-plugin-state/transforms/misc.js");
            Model: typeof import("../../mol-plugin-state/transforms/model.js");
            Volume: typeof import("../../mol-plugin-state/transforms/volume.js");
            Representation: typeof import("../../mol-plugin-state/transforms/representation.js");
            Shape: typeof import("../../mol-plugin-state/transforms/shape.js");
        };
        StateActions: {
            Structure: typeof import("../../mol-plugin-state/actions/structure.js");
            Volume: typeof import("../../mol-plugin-state/actions/volume.js");
            DataFormat: typeof import("../../mol-plugin-state/actions/file.js");
        };
        DefaultPluginSpec: () => PluginSpec;
        DefaultPluginUISpec: () => import("../../mol-plugin-ui/spec.js").PluginUISpec;
    };
    extensions: {
        wwPDBStructConn: {
            getStructConns(plugin: PluginContext, entry: string | undefined): {
                [id: string]: import("../../extensions/wwpdb/struct-conn/index.js").StructConnRecord;
            };
            inspectStructConn(plugin: PluginContext, entry: string | undefined, structConnId: string, keepExisting?: boolean): Promise<number>;
            clearStructConnInspections(plugin: PluginContext, entry: string | undefined): Promise<void>;
        };
        mvs: {
            MVSData: {
                SupportedVersion: number;
                fromMVSJ(mvsjString: string): import("../mvs-stories/index.js").MVSData;
                toMVSJ(mvsData: import("../mvs-stories/index.js").MVSData, space?: string | number): string;
                toMVSX(mvsData: import("../mvs-stories/index.js").MVSData, options?: {
                    assets?: {
                        [uri: string]: Uint8Array<ArrayBuffer> | string;
                    };
                    baseUri?: string;
                    skipExternal?: boolean;
                    cache?: {
                        [absoluteUri: string]: Uint8Array<ArrayBuffer> | string;
                    };
                }): Promise<Uint8Array<ArrayBuffer>>;
                isValid(mvsData: import("../mvs-stories/index.js").MVSData, options?: {
                    noExtra?: boolean;
                }): boolean;
                validationIssues(mvsData: import("../mvs-stories/index.js").MVSData, options?: {
                    noExtra?: boolean;
                }): string[] | undefined;
                toPrettyString(mvsData: import("../mvs-stories/index.js").MVSData): string;
                createBuilder(): import("../../extensions/mvs/tree/mvs/mvs-builder.js").Root;
                createMultistate(snapshots: import("../../extensions/mvs/index.js").Snapshot[], metadata?: Pick<import("../../extensions/mvs/index.js").GlobalMetadata, "title" | "description" | "description_format">): import("../../extensions/mvs/index.js").MVSData_States;
                stateToStates(state: import("../../extensions/mvs/index.js").MVSData_State): import("../../extensions/mvs/index.js").MVSData_States;
            };
            createBuilder: () => import("../../extensions/mvs/tree/mvs/mvs-builder.js").Root;
            loadMVS: typeof import("../../extensions/mvs/index.js").loadMVS;
            loadMVSData: typeof import("../../extensions/mvs/components/formats.js").loadMVSData;
            util: {
                queryMVSRef(plugin: PluginContext, ref: string): import("../../mol-state/index.js").StateSelection.CellSeq<import("../../mol-state/index.js").StateObjectCell<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, import("../../mol-state/index.js").StateTransform<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>>>>;
                createMVSRefMap(plugin: PluginContext): Map<string, import("../../mol-state/index.js").StateObjectSelector<import("../../mol-state/index.js").StateObject<any, import("../../mol-state/index.js").StateObject.Type<any>>, 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>>[]>;
                tryGetPrimitivesFromLoci(loci: Loci | undefined): import("../../extensions/mvs/tree/mvs/mvs-tree.js").MVSNode<"primitive">[] | undefined;
                getCurrentMVSSnapshot(plugin: PluginContext): import("../../extensions/mvs/index.js").Snapshot | undefined;
            };
        };
        modelArchive: {
            qualityAssessment: {
                config: {
                    EnablePairwiseScorePlot: import("../../mol-plugin/config.js").PluginConfigItem<boolean>;
                };
            };
        };
    };
};
