/**
 * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author David Sehnal <david.sehnal@gmail.com>
 */
import { PluginContext } from '../../mol-plugin/context';
import { State, StateTransform, StateAction } from '../../mol-state';
import { TransformControlBase } from './common';
import { ParamDefinition as PD } from '../../mol-util/param-definition';
export { ApplyActionControl };
declare namespace ApplyActionControl {
    interface Props {
        nodeRef: StateTransform.Ref;
        state: State;
        action: StateAction;
        hideHeader?: boolean;
        initiallyCollapsed?: boolean;
    }
    interface ComponentState {
        plugin: PluginContext;
        ref: StateTransform.Ref;
        version: string;
        params: any;
        error?: string;
        busy: boolean;
        isInitial: boolean;
    }
}
declare class ApplyActionControl extends TransformControlBase<ApplyActionControl.Props, ApplyActionControl.ComponentState> {
    applyAction(): Promise<void>;
    getInfo(): {
        params: PD.Params;
        initialValues: any;
        isEmpty: boolean;
    };
    getTransformerId(): import("../../mol-state/transformer").StateTransformer.Id;
    getHeader(): "none" | {
        readonly name: string;
        readonly description?: string | undefined;
    };
    canApply(): boolean;
    canAutoApply(): boolean;
    applyText(): string;
    isUpdate(): boolean;
    getSourceAndTarget(): {
        a: import("../../mol-state/object").StateObject<any, import("../../mol-state/object").StateObject.Type<any>> | undefined;
    };
    private _getInfo;
    state: {
        plugin: import("../context").PluginUIContext;
        ref: string;
        version: string;
        error: undefined;
        isInitial: boolean;
        params: any;
        busy: boolean;
        isCollapsed: boolean | undefined;
    };
    static getDerivedStateFromProps(props: ApplyActionControl.Props, state: ApplyActionControl.ComponentState): Partial<ApplyActionControl.ComponentState> | null;
}
