/** * Copyright (c) 2018-2023 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal * @author Alexander Rose */ import { OrderedMap } from 'immutable'; import * as React from 'react'; import { ParamDefinition as PD } from '../../mol-util/param-definition.js'; import { PluginUIComponent } from '../base.js'; export declare class StateSnapshots extends PluginUIComponent<{}> { render(): import("react/jsx-runtime").JSX.Element; } export declare class StateExportImportControls extends PluginUIComponent<{ onAction?: () => void; }> { downloadToFileJson: () => void; downloadToFileZip: () => void; open: (e: React.ChangeEvent) => void; render(): import("react/jsx-runtime").JSX.Element; } export declare class LocalStateSnapshotParams extends PluginUIComponent { componentDidMount(): void; render(): import("react/jsx-runtime").JSX.Element; } export declare class LocalStateSnapshots extends PluginUIComponent<{}, { params: PD.Values; }> { state: { params: PD.Values<{ name: PD.Text; description: PD.Text; }>; }; static Params: { name: PD.Text; description: PD.Text; }; add: () => void; updateParams: (params: PD.Values) => void; clear: () => void; shouldComponentUpdate(nextProps: any, nextState: any): boolean; render(): import("react/jsx-runtime").JSX.Element; } export declare class LocalStateSnapshotList extends PluginUIComponent<{}, { editingId?: string; }> { state: { editingId: string | undefined; }; componentDidMount(): void; edit: (e: React.MouseEvent) => void; doneEdit: () => void; apply: (e: React.MouseEvent) => void; remove: (e: React.MouseEvent) => void; moveUp: (e: React.MouseEvent) => void; moveDown: (e: React.MouseEvent) => void; replace: (e: React.MouseEvent) => void; render(): import("react/jsx-runtime").JSX.Element; } export type RemoteEntry = { url: string; removeUrl: string; timestamp: number; id: string; name: string; description: string; isSticky?: boolean; }; export declare class RemoteStateSnapshots extends PluginUIComponent<{ listOnly?: boolean; }, { params: PD.Values; entries: OrderedMap; isBusy: boolean; }> { Params: { name: PD.Text; options: PD.Group>; }; state: { params: PD.Values<{ name: PD.Text; options: PD.Group>; }>; entries: OrderedMap; isBusy: boolean; }; ListOnlyParams: { options: PD.Group>; }; private _mounted; componentDidMount(): void; componentWillUnmount(): void; serverUrl(q?: string): string; refresh: () => Promise; upload: () => Promise; fetch: (e: React.MouseEvent) => Promise; remove: (e: React.MouseEvent) => Promise; render(): import("react/jsx-runtime").JSX.Element; }