/** * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal */ import { StateObject, StateObjectRef } from '../../mol-state/index.js'; import { PluginContext } from '../../mol-plugin/context.js'; import { ParamDefinition as PD } from '../../mol-util/param-definition.js'; export interface PresetProvider { id: string; display: { name: string; group?: string; description?: string; }; isApplicable?(a: O, plugin: PluginContext): boolean; params?(a: O | undefined, plugin: PluginContext): PD.For

; apply(a: StateObjectRef, params: P, plugin: PluginContext): Promise | S; }