/**
 * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author Alexander Rose <alexander.rose@weirdbyte.de>
 * @author David Sehnal <david.sehnal@gmail.com>
 */
/// <reference types="react" />
import { StructureElement } from '../../mol-model/structure';
import { StructureMeasurementCell } from '../../mol-plugin-state/manager/structure/measurement';
import { StructureSelectionHistoryEntry } from '../../mol-plugin-state/manager/structure/selection';
import { CollapsableControls, PurePluginUIComponent } from '../base';
import { ActionMenu } from '../controls/action-menu';
import { PencilRulerSvg } from '../controls/icons';
export declare class StructureMeasurementsControls extends CollapsableControls {
    defaultState(): {
        isCollapsed: boolean;
        header: string;
        brand: {
            accent: "gray";
            svg: typeof PencilRulerSvg;
        };
    };
    renderControls(): JSX.Element;
}
export declare class MeasurementList extends PurePluginUIComponent {
    componentDidMount(): void;
    renderGroup(cells: ReadonlyArray<StructureMeasurementCell>, header: string): JSX.Element | null;
    render(): JSX.Element;
}
export declare class MeasurementControls extends PurePluginUIComponent<{}, {
    isBusy: boolean;
    action?: 'add' | 'options';
}> {
    state: {
        isBusy: boolean;
        action: "options" | "add" | undefined;
    };
    componentDidMount(): void;
    get selection(): import("../../mol-plugin-state/manager/structure/selection").StructureSelectionManager;
    measureDistance: () => void;
    measureAngle: () => void;
    measureDihedral: () => void;
    addLabel: () => void;
    get actions(): ActionMenu.Items;
    selectAction: ActionMenu.OnSelect;
    toggleAdd: () => void;
    toggleOptions: () => void;
    highlight(loci: StructureElement.Loci): void;
    moveHistory(e: StructureSelectionHistoryEntry, direction: 'up' | 'down'): void;
    focusLoci(loci: StructureElement.Loci): void;
    historyEntry(e: StructureSelectionHistoryEntry, idx: number): JSX.Element;
    add(): JSX.Element;
    render(): JSX.Element;
}
