/** * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal */ import { PluginStateObject as SO } from '../../objects.js'; import { StateObject, StateTransform, State, StateObjectCell, StateTransformer } from '../../../mol-state/index.js'; import { StateTransforms } from '../../transforms.js'; export declare function buildVolumeHierarchy(state: State, previous?: VolumeHierarchy): { hierarchy: VolumeHierarchy; added: Set; changed: boolean; }; export interface VolumeHierarchy { volumes: VolumeRef[]; lazyVolumes: LazyVolumeRef[]; refs: Map; } export declare function VolumeHierarchy(): VolumeHierarchy; interface RefBase { kind: K; cell: StateObjectCell>; version: StateTransform['version']; } export type VolumeHierarchyRef = VolumeRef | LazyVolumeRef | VolumeRepresentationRef; export interface VolumeRef extends RefBase<'volume', SO.Volume.Data> { representations: VolumeRepresentationRef[]; } export interface LazyVolumeRef extends RefBase<'lazy-volume', SO.Volume.Lazy> { } export interface VolumeRepresentationRef extends RefBase<'volume-representation', SO.Volume.Representation3D, StateTransforms['Representation']['VolumeRepresentation3D']> { volume: VolumeRef; } export {};