/** * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal */ import { StateObject, StateObjectRef } from '../../mol-state'; import { PluginContext } from '../../mol-plugin/context'; import { ParamDefinition as PD } from '../../mol-util/param-definition'; 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 }