/** * Copyright (c) 2023-2026 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Adam Midlik * @author David Sehnal * @author Aliaksei Chareshneu */ import { PluginContext } from '../../mol-plugin/context.js'; import { StateObjectSelector } from '../../mol-state/index.js'; import { LoadingExtension } from './load-generic.js'; import { AnnotationFromSourceKind, AnnotationFromUriKind } from './load-helpers.js'; import { MVSData } from './mvs-data.js'; import { MolstarNode, MolstarNodeParams, MolstarTree } from './tree/molstar/molstar-tree.js'; export interface MVSLoadOptions { /** Add snapshots from MVS into current snapshot list, instead of replacing the list. */ appendSnapshots?: boolean; /** Ignore any camera positioning from the MVS state and keep the current camera position instead, ignore any camera positioning when generating snapshots. */ keepCamera?: boolean; /** Follow camera target position from the MVS state but keep the current camera direction and up. (`keepCamera` option overrides this) */ keepCameraOrientation?: boolean; /** Specifies a set of MVS-loading extensions (not a part of standard MVS specification). If undefined, apply all builtin extensions. If `[]`, do not apply builtin extensions. */ extensions?: MolstarLoadingExtension[]; /** Run some sanity checks and print potential issues to the console. */ sanityChecks?: boolean; /** Base for resolving relative URLs/URIs. May itself be a relative URL (relative to the window URL). */ sourceUrl?: string; doNotReportErrors?: boolean; } export declare function loadMVS(plugin: PluginContext, data: MVSData, options?: MVSLoadOptions): Promise; /** Mutable context for loading a `MolstarTree`, available throughout the loading. */ export interface MolstarLoadingContext { /** Maps `*_from_[uri|source]` nodes to annotationId they should reference */ annotationMap: Map, string>; /** Maps each node (on 'structure' or lower level) to its nearest 'representation' node */ nearestReprMap?: Map>; camera: { cameraParams?: MolstarNodeParams<'camera'>; focuses: { target: StateObjectSelector; params: MolstarNodeParams<'focus'>; }[]; }; canvas?: MolstarNode<'canvas'>; } export declare const MolstarLoadingContext: { create(): MolstarLoadingContext; }; export type MolstarLoadingExtension = LoadingExtension; export declare const BuiltinLoadingExtensions: MolstarLoadingExtension[];