UNPKG

molstar

Version:

A comprehensive macromolecular library.

133 lines (132 loc) 6.63 kB
/** * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal <david.sehnal@gmail.com> */ import { State, StateTransform, StateTransformer } from '../mol-state'; import { Camera } from '../mol-canvas3d/camera'; import { Canvas3DProps } from '../mol-canvas3d/canvas3d'; import { PluginAnimationManager } from '../mol-plugin-state/manager/animation'; import { ParamDefinition as PD } from '../mol-util/param-definition'; import { UUID } from '../mol-util'; import { InteractivityManager } from '../mol-plugin-state/manager/interactivity'; import { StructureFocusSnapshot } from '../mol-plugin-state/manager/structure/focus'; import { PluginContext } from './context'; import { PluginComponent } from '../mol-plugin-state/component'; export { PluginState }; declare class PluginState extends PluginComponent { private plugin; private get animation(); readonly data: State; readonly behaviors: State; readonly events: { readonly cell: { readonly stateUpdated: import("rxjs").Observable<State.ObjectEvent & { cell: import("../mol-state/object").StateObjectCell<import("../mol-state/object").StateObject<any, import("../mol-state/object").StateObject.Type<any>>, StateTransform<StateTransformer<import("../mol-state/object").StateObject<any, import("../mol-state/object").StateObject.Type<any>>, import("../mol-state/object").StateObject<any, import("../mol-state/object").StateObject.Type<any>>, any>>>; }>; readonly created: import("rxjs").Observable<State.ObjectEvent & { cell: import("../mol-state/object").StateObjectCell<import("../mol-state/object").StateObject<any, import("../mol-state/object").StateObject.Type<any>>, StateTransform<StateTransformer<import("../mol-state/object").StateObject<any, import("../mol-state/object").StateObject.Type<any>>, import("../mol-state/object").StateObject<any, import("../mol-state/object").StateObject.Type<any>>, any>>>; }>; readonly removed: import("rxjs").Observable<State.ObjectEvent & { parent: string; }>; }; readonly object: { readonly created: import("rxjs").Observable<State.ObjectEvent & { obj: import("../mol-state/object").StateObject<any, import("../mol-state/object").StateObject.Type<any>>; }>; readonly removed: import("rxjs").Observable<State.ObjectEvent & { obj?: import("../mol-state/object").StateObject<any, import("../mol-state/object").StateObject.Type<any>> | undefined; }>; readonly updated: import("rxjs").Observable<State.ObjectEvent & { action: "in-place" | "recreate"; obj: import("../mol-state/object").StateObject<any, import("../mol-state/object").StateObject.Type<any>>; oldObj?: import("../mol-state/object").StateObject<any, import("../mol-state/object").StateObject.Type<any>> | undefined; oldData?: any; }>; }; }; readonly snapshotParams: import("rxjs").BehaviorSubject<Partial<PD.Values<{ durationInMs: PD.Numeric; data: PD.BooleanParam; behavior: PD.BooleanParam; animation: PD.BooleanParam; startAnimation: PD.BooleanParam; canvas3d: PD.BooleanParam; interactivity: PD.BooleanParam; camera: PD.BooleanParam; cameraTransition: PD.Mapped<PD.NamedParams<PD.Normalize<{ durationInMs: number; }>, "animate"> | PD.NamedParams<PD.Normalize<unknown>, "instant">>; }>>>; setSnapshotParams: (params?: Partial<PD.Values<{ durationInMs: PD.Numeric; data: PD.BooleanParam; behavior: PD.BooleanParam; animation: PD.BooleanParam; startAnimation: PD.BooleanParam; canvas3d: PD.BooleanParam; interactivity: PD.BooleanParam; camera: PD.BooleanParam; cameraTransition: PD.Mapped<PD.NamedParams<PD.Normalize<{ durationInMs: number; }>, "animate"> | PD.NamedParams<PD.Normalize<unknown>, "instant">>; }>> | undefined) => void; getSnapshot(params?: PluginState.SnapshotParams): PluginState.Snapshot; setSnapshot(snapshot: PluginState.Snapshot): Promise<void>; updateTransform(state: State, a: StateTransform.Ref, params: any, canUndo?: string | boolean): Promise<void>; updateBehavior<T extends StateTransformer>(behavior: T, params: (old: StateTransformer.Params<T>) => (void | StateTransformer.Params<T>)): Promise<void>; dispose(): void; constructor(plugin: PluginContext); } declare namespace PluginState { type CameraTransitionStyle = 'instant' | 'animate'; const SnapshotParams: { durationInMs: PD.Numeric; data: PD.BooleanParam; behavior: PD.BooleanParam; animation: PD.BooleanParam; startAnimation: PD.BooleanParam; canvas3d: PD.BooleanParam; interactivity: PD.BooleanParam; camera: PD.BooleanParam; cameraTransition: PD.Mapped<PD.NamedParams<PD.Normalize<{ durationInMs: number; }>, "animate"> | PD.NamedParams<PD.Normalize<unknown>, "instant">>; }; type SnapshotParams = Partial<PD.Values<typeof SnapshotParams>>; const DefaultSnapshotParams: PD.Values<{ durationInMs: PD.Numeric; data: PD.BooleanParam; behavior: PD.BooleanParam; animation: PD.BooleanParam; startAnimation: PD.BooleanParam; canvas3d: PD.BooleanParam; interactivity: PD.BooleanParam; camera: PD.BooleanParam; cameraTransition: PD.Mapped<PD.NamedParams<PD.Normalize<{ durationInMs: number; }>, "animate"> | PD.NamedParams<PD.Normalize<unknown>, "instant">>; }>; interface Snapshot { id: UUID; data?: State.Snapshot; behaviour?: State.Snapshot; animation?: PluginAnimationManager.Snapshot; startAnimation?: boolean; camera?: { current: Camera.Snapshot; transitionStyle: CameraTransitionStyle; transitionDurationInMs?: number; }; canvas3d?: { props?: Canvas3DProps; }; interactivity?: { props?: InteractivityManager.Props; }; structureFocus?: StructureFocusSnapshot; durationInMs?: number; } type SnapshotType = 'json' | 'molj' | 'zip' | 'molx'; }