/** * Copyright (c) 2018-2025 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose */ import { SizeType, LocationSize } from '../mol-geo/geometry/size-data.js'; import { ParamDefinition as PD } from '../mol-util/param-definition.js'; import { ThemeDataContext, ThemeRegistry, ThemeProvider } from '../mol-theme/theme.js'; export { SizeTheme }; interface SizeTheme

{ readonly factory: SizeTheme.Factory

; readonly granularity: SizeType; readonly size: LocationSize; readonly props: Readonly>; readonly contextHash?: number; readonly description?: string; } declare namespace SizeTheme { export type Props = { [k: string]: any; }; export type Factory

= (ctx: ThemeDataContext, props: PD.Values

) => SizeTheme

; export const EmptyFactory: () => SizeTheme<{}>; export const Empty: SizeTheme<{}>; export function areEqual(themeA: SizeTheme, themeB: SizeTheme): boolean; export interface Provider

extends ThemeProvider, P, Id> { } export const EmptyProvider: Provider<{}>; export type Registry = ThemeRegistry>; export function createRegistry(): ThemeRegistry>; export const BuiltIn: { physical: Provider<{ scale: PD.Numeric; }, "physical">; 'shape-group': Provider<{}, "shape-group">; uncertainty: Provider<{ bfactorFactor: PD.Numeric; rmsfFactor: PD.Numeric; baseSize: PD.Numeric; }, "uncertainty">; uniform: Provider<{ value: PD.Numeric; }, "uniform">; 'volume-value': Provider<{ scale: PD.Numeric; transform: PD.Select<"linear" | "cubic" | "quadratic">; domain: PD.Mapped, "auto"> | PD.NamedParams<[number, number], "custom">>; }, "volume-value">; }; type _BuiltIn = typeof BuiltIn; export type BuiltIn = keyof _BuiltIn; export type ParamValues> = C extends SizeTheme.Provider ? PD.Values

: never; export type BuiltInParams = Partial>; export {}; }