/** * Copyright (c) 2026 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose */ import { ParamDefinition as PD } from '../../mol-util/param-definition.js'; import { CustomProperty } from './custom-property.js'; import { CustomPropertyDescriptor } from '../../mol-model/custom-property.js'; import { Volume } from '../../mol-model/volume/volume.js'; export { CustomVolumeProperty }; declare namespace CustomVolumeProperty { interface Provider extends CustomProperty.Provider { } interface ProviderBuilder { readonly label: string; readonly descriptor: CustomPropertyDescriptor; readonly isHidden?: boolean; readonly defaultParams: Params; readonly getParams: (data: Volume) => Params; readonly isApplicable: (data: Volume) => boolean; readonly obtain: (ctx: CustomProperty.Context, data: Volume, props: PD.Values) => Promise>; } function createProvider(builder: ProviderBuilder): CustomProperty.Provider; function createSimple(name: string, defaultValue?: T): CustomProperty.Provider; }, T | undefined>; }