declare const _default: typeof GenomePositionSearchBox;
export default _default;
declare class GenomePositionSearchBox extends React.Component<any, any, any> {
    constructor(props: any);
    mounted: boolean;
    uid: string;
    chromInfo: any;
    searchField: SearchField | null;
    autocompleteMenu: Autocomplete | null;
    xScale: any;
    yScale: any;
    prevParts: any[];
    menuPosition: {
        left: number;
        top: number;
    };
    currentChromInfoServer: any;
    currentChromInfoId: any;
    positionText: any;
    state: {
        value: any;
        loading: boolean;
        menuPosition: number[];
        genes: never[];
        isFocused: boolean;
        menuOpened: boolean;
        availableAssemblies: never[];
        selectedAssembly: null;
    };
    styles: {
        item: {
            padding: string;
            cursor: string;
        };
        highlightedItem: {
            color: string;
            background: string;
            padding: string;
            cursor: string;
        };
        menu: {
            border: string;
        };
    };
    componentDidMount(): void;
    componentWillUnmount(): void;
    /**
     * The user has selected an assembly to use for the coordinate search box
     *
     * @param {string} chromInfoServer
     * @param {string} chromInfoId - The name of the chromosome info set to use
     *
     * @returns {void} Once the appropriate ChromInfo file is fetched, it is stored locally
     */
    fetchChromInfo(chromInfoServer: string, chromInfoId: string): void;
    scalesChanged(xScale: any, yScale: any): void;
    setPositionText(): void;
    autocompleteKeyPress(event: any): void;
    replaceGenesWithLoadedPositions(genePositions: any): any;
    replaceGenesWithPositions(finished: any): void;
    buttonClick(): void;
    searchFieldSubmit(): void;
    pathJoin(parts: any, sep: any): any;
    onAutocompleteChange(event: any, value: any): void;
    changedPart: number | null | undefined;
    geneSelected(value: any, objct: any): void;
    handleMenuVisibilityChange(isOpen: any, inputEl: any): void;
    handleRenderMenu(items: any): React.JSX.Element;
    handleAssemblySelect(evt: any): void;
    focusHandler(isFocused: any): void;
    UNSAFE_componentWillReceiveProps(nextProps: any): void;
    render(): React.JSX.Element;
    gpsbForm: HTMLDivElement | null | undefined;
}
declare namespace GenomePositionSearchBox {
    namespace propTypes {
        let autocompleteId: PropTypes.Requireable<string>;
        let autocompleteServer: PropTypes.Requireable<string>;
        let chromInfoId: PropTypes.Requireable<string>;
        let chromInfoServer: PropTypes.Requireable<string>;
        let isFocused: PropTypes.Requireable<boolean>;
        let onFocus: PropTypes.Requireable<(...args: any[]) => any>;
        let onSelectedAssemblyChanged: PropTypes.Requireable<(...args: any[]) => any>;
        let registerViewportChangedListener: PropTypes.Requireable<(...args: any[]) => any>;
        let removeViewportChangedListener: PropTypes.Requireable<(...args: any[]) => any>;
        let setCenters: PropTypes.Requireable<(...args: any[]) => any>;
        let theme: PropTypes.Requireable<string>;
        let trackSourceServers: PropTypes.Requireable<any[]>;
        let twoD: PropTypes.Requireable<boolean>;
    }
}
import React from 'react';
import SearchField from './SearchField';
import Autocomplete from './Autocomplete';
import PropTypes from 'prop-types';
