declare const _default: typeof ViewHeader;
export default _default;
declare class ViewHeader extends React.Component<any, any, any> {
    constructor(props: any);
    configImg: SVGSVGElement | null;
    plusImg: SVGSVGElement | null;
    state: {
        addTrackPositionMenuUid: null;
        addTrackPositionMenuPosition: null;
        configMenuUid: null;
        configMenuPosition: null;
        isFocused: boolean;
        width: number;
    };
    handleTrackPositionChosenBound: (position: any, extent: any) => void;
    componentDidMount(): void;
    checkWidth(): void;
    /**
     * The user clicked on the `cog` of the menu so we need to open
     * it.
     */
    handleConfigMenuOpened(uid: any): void;
    /**
     * The user has clicked on the 'plus' sign at the top of a TiledPlot
     * so we need to open the Track Position Chooser dialog
     */
    handleAddTrackPositionMenuOpened(uid: any): void;
    /**
     * The user has chosen a position for the new track. The actual
     * track selection will be handled by TiledPlot
     *
     * We just need to close the menu here.
     */
    handleTrackPositionChosen(position: any, extent: any): void;
    render(): React.JSX.Element;
    el: HTMLDivElement | null | undefined;
}
declare namespace ViewHeader {
    namespace defaultProps {
        let isGenomePositionSearchBoxVisible: boolean;
    }
    namespace propTypes {
        export let getGenomePositionSearchBox: PropTypes.Validator<(...args: any[]) => any>;
        let isGenomePositionSearchBoxVisible_1: PropTypes.Requireable<boolean>;
        export { isGenomePositionSearchBoxVisible_1 as isGenomePositionSearchBoxVisible };
        export let mouseTool: PropTypes.Validator<string>;
        export let onAddView: PropTypes.Validator<(...args: any[]) => any>;
        export let onClearView: PropTypes.Validator<(...args: any[]) => any>;
        export let onCloseView: PropTypes.Validator<(...args: any[]) => any>;
        export let onEditViewConfig: PropTypes.Validator<(...args: any[]) => any>;
        export let onExportSVG: PropTypes.Validator<(...args: any[]) => any>;
        export let onExportPNG: PropTypes.Validator<(...args: any[]) => any>;
        export let onExportViewsAsJSON: PropTypes.Validator<(...args: any[]) => any>;
        export let onExportViewsAsLink: PropTypes.Validator<(...args: any[]) => any>;
        export let onLockLocation: PropTypes.Validator<(...args: any[]) => any>;
        export let onLockZoom: PropTypes.Validator<(...args: any[]) => any>;
        export let onLockZoomAndLocation: PropTypes.Validator<(...args: any[]) => any>;
        export let onProjectViewport: PropTypes.Validator<(...args: any[]) => any>;
        export let onTakeAndLockZoomAndLocation: PropTypes.Validator<(...args: any[]) => any>;
        export let onTogglePositionSearchBox: PropTypes.Validator<(...args: any[]) => any>;
        export let onTrackPositionChosen: PropTypes.Validator<(...args: any[]) => any>;
        export let onUnlockLocation: PropTypes.Validator<(...args: any[]) => any>;
        export let onUnlockZoom: PropTypes.Validator<(...args: any[]) => any>;
        export let onUnlockZoomAndLocation: PropTypes.Validator<(...args: any[]) => any>;
        export let onViewOptionsChanged: PropTypes.Validator<(...args: any[]) => any>;
        export let onYankLocation: PropTypes.Validator<(...args: any[]) => any>;
        export let onYankZoom: PropTypes.Validator<(...args: any[]) => any>;
        export let onYankZoomAndLocation: PropTypes.Validator<(...args: any[]) => any>;
        export let onZoomToData: PropTypes.Validator<(...args: any[]) => any>;
        export let theme: PropTypes.Validator<symbol>;
        export let viewUid: PropTypes.Validator<string>;
    }
}
import React from 'react';
import PropTypes from 'prop-types';
