/** * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal */ import { State, StateTransform, StateTransformer, StateAction, StateObject, StateObjectCell } from '../../mol-state/index.js'; import * as React from 'react'; import { PurePluginUIComponent } from '../base.js'; import { ParamOnChange } from '../controls/parameters.js'; import { PluginContext } from '../../mol-plugin/context.js'; import { ParamDefinition as PD } from '../../mol-util/param-definition.js'; export { StateTransformParameters, TransformControlBase }; declare class StateTransformParameters extends PurePluginUIComponent { validate(params: any): undefined; areInitial(params: any): boolean; onChange: ParamOnChange; render(): import("react/jsx-runtime").JSX.Element; } declare namespace StateTransformParameters { interface Props { info: { params: PD.Params; initialValues: any; isEmpty: boolean; }; events: { onChange: (params: any, areInitial: boolean, errors?: string[]) => void; onEnter: () => void; }; params: any; isDisabled?: boolean; a?: StateObject; b?: StateObject; bCell?: StateObjectCell; } type Class = React.ComponentClass; function infoFromAction(plugin: PluginContext, state: State, action: StateAction, nodeRef: StateTransform.Ref): Props['info']; function infoFromTransform(plugin: PluginContext, state: State, transform: StateTransform): Props['info']; } declare namespace TransformControlBase { interface ComponentState { params: any; error?: string; busy: boolean; isInitial: boolean; simpleOnly?: boolean; isCollapsed?: boolean; } interface CommonProps { simpleApply?: { header: string; icon?: React.FC; title?: string; }; noMargin?: boolean; applyLabel?: string; onApply?: () => void; autoHideApply?: boolean; wrapInExpander?: boolean; expanderHeaderLeftMargin?: string; } } declare abstract class TransformControlBase extends PurePluginUIComponent

{ abstract applyAction(): Promise; abstract getInfo(): StateTransformParameters.Props['info']; abstract getHeader(): StateTransformer.Definition['display'] | 'none'; abstract canApply(): boolean; abstract getTransformerId(): string; abstract canAutoApply(newParams: any): boolean; abstract applyText(): string; abstract isUpdate(): boolean; abstract getSourceAndTarget(): { a?: StateObject; b?: StateObject; bCell?: StateObjectCell; }; abstract state: S; private busy; private onEnter; private autoApplyHandle; private clearAutoApply; events: StateTransformParameters.Props['events']; apply: () => Promise; componentDidMount(): void; refresh: () => void; setDefault: () => void; toggleExpanded: () => void; renderApply(): import("react/jsx-runtime").JSX.Element | null; renderDefault(): import("react/jsx-runtime").JSX.Element; renderSimple(): import("react/jsx-runtime").JSX.Element; render(): import("react/jsx-runtime").JSX.Element; }