/** * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal */ import { Structure } from '../../mol-model/structure.js'; import { PluginContext } from '../../mol-plugin/context.js'; import { RepresentationProvider } from '../../mol-repr/representation.js'; import { StructureRepresentationRegistry } from '../../mol-repr/structure/registry.js'; import { StateTransformer } from '../../mol-state/index.js'; import { ColorTheme } from '../../mol-theme/color.js'; import { SizeTheme } from '../../mol-theme/size.js'; import { StructureRepresentation3D } from '../transforms/representation.js'; export interface StructureRepresentationBuiltInProps { /** Using any registered name will work, but code completion will break */ type?: R; typeParams?: StructureRepresentationRegistry.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 StructureRepresentationProps = 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 createStructureRepresentationParams(ctx: PluginContext, structure?: Structure, props?: StructureRepresentationBuiltInProps): StateTransformer.Params; export declare function createStructureRepresentationParams, C extends ColorTheme.Provider, S extends SizeTheme.Provider>(ctx: PluginContext, structure?: Structure, props?: StructureRepresentationProps): StateTransformer.Params; export declare function getStructureThemeTypes(ctx: PluginContext, structure?: Structure): [string, string, string][]; export declare function createStructureColorThemeParams(ctx: PluginContext, structure: Structure | undefined, typeName: string | undefined, themeName: T, params?: ColorTheme.BuiltInParams): StateTransformer.Params['colorTheme']; export declare function createStructureColorThemeParams(ctx: PluginContext, structure: Structure | undefined, typeName: string | undefined, themeName?: string, params?: any): StateTransformer.Params['colorTheme']; export declare function createStructureSizeThemeParams(ctx: PluginContext, structure: Structure | undefined, typeName: string | undefined, themeName: T, params?: SizeTheme.BuiltInParams): StateTransformer.Params['sizeTheme']; export declare function createStructureSizeThemeParams(ctx: PluginContext, structure: Structure | undefined, typeName: string | undefined, themeName?: string, params?: any): StateTransformer.Params['sizeTheme'];