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