/** * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal */ import { Volume } from '../../mol-model/volume.js'; import { PluginContext } from '../../mol-plugin/context.js'; import { RepresentationProvider } from '../../mol-repr/representation.js'; import { VolumeRepresentationRegistry } from '../../mol-repr/volume/registry.js'; import { StateTransformer } from '../../mol-state/index.js'; import { ColorTheme } from '../../mol-theme/color.js'; import { SizeTheme } from '../../mol-theme/size.js'; import { VolumeRepresentation3D } from '../transforms/representation.js'; export interface VolumeRepresentationBuiltInProps { /** Using any registered name will work, but code completion will break */ type?: R; typeParams?: VolumeRepresentationRegistry.BuiltInParams; /** Using any registered name will work, but code completion will break */ color?: C; colorParams?: ColorTheme.BuiltInParams; /** Using any registered name will work, but code completion will break */ size?: S; sizeParams?: SizeTheme.BuiltInParams; } export interface VolumeRepresentationProps = RepresentationProvider, C extends ColorTheme.Provider = ColorTheme.Provider, S extends SizeTheme.Provider = SizeTheme.Provider> { type?: R; typeParams?: Partial>; color?: C; colorParams?: Partial>; size?: S; sizeParams?: Partial>; } export declare function createVolumeRepresentationParams(ctx: PluginContext, volume?: Volume, props?: VolumeRepresentationBuiltInProps): StateTransformer.Params; export declare function createVolumeRepresentationParams, C extends ColorTheme.Provider, S extends SizeTheme.Provider>(ctx: PluginContext, volume?: Volume, props?: VolumeRepresentationProps): StateTransformer.Params; export declare function getVolumeThemeTypes(ctx: PluginContext, volume?: Volume): [string, string, string][]; export declare function createVolumeColorThemeParams(ctx: PluginContext, volume: Volume | undefined, typeName: string | undefined, themeName: T, params?: ColorTheme.BuiltInParams): StateTransformer.Params['colorTheme']; export declare function createVolumeColorThemeParams(ctx: PluginContext, volume: Volume | undefined, typeName: string | undefined, themeName?: string, params?: any): StateTransformer.Params['colorTheme']; export declare function createVolumeSizeThemeParams(ctx: PluginContext, volume: Volume | undefined, typeName: string | undefined, themeName: T, params?: SizeTheme.BuiltInParams): StateTransformer.Params['sizeTheme']; export declare function createVolumeSizeThemeParams(ctx: PluginContext, volume: Volume | undefined, typeName: string | undefined, themeName?: string, params?: any): StateTransformer.Params['sizeTheme'];