import { default as React } from 'react';
import { default as PropTypes } from 'prop-types';
/**
 * The BaseMap forms a general network drawing component which
 * doesn't assume that the drawing is of a Network. It is used
 * by the `<TrafficMap>` to produce the chart seen of the front
 * page of my.es.net.
 */
export class BaseMap extends React.Component<any, any, any> {
    constructor(props: any);
    state: {
        dragging: null;
    };
    handleNodeMouseDown(id: any, e: any): void;
    handleSelectionChange(type: any, id: any): void;
    handleMouseMove(e: any): void;
    handleMouseUp(e: any): void;
    handleClick(e: any): void;
    /**
     * Get the event mouse position relative to the event rect
     */
    getOffsetMousePosition(e: any): {
        x: number;
        y: number;
    };
    scale(): {
        xScale: any;
        yScale: any;
    };
    render(): import("react/jsx-runtime").JSX.Element;
    map: SVGSVGElement | null | undefined;
}
export namespace BaseMap {
    namespace propTypes {
        let topology: PropTypes.Validator<object>;
        let width: PropTypes.Requireable<number>;
        let height: PropTypes.Requireable<number>;
        let margin: PropTypes.Requireable<number>;
        let bounds: PropTypes.Requireable<PropTypes.InferProps<{
            x1: PropTypes.Requireable<number>;
            y1: PropTypes.Requireable<number>;
            x2: PropTypes.Requireable<number>;
            y2: PropTypes.Requireable<number>;
        }>>;
        let edgeDrawingMethod: PropTypes.Requireable<string>;
        let legendItems: PropTypes.Requireable<PropTypes.InferProps<{
            x: PropTypes.Requireable<number>;
            y: PropTypes.Requireable<number>;
            edgeTypes: PropTypes.Requireable<object>;
            nodeTypes: PropTypes.Requireable<object>;
            colorSwatches: PropTypes.Requireable<object>;
        }>>;
        let selection: PropTypes.Requireable<object>;
        let paths: PropTypes.Requireable<any[]>;
        let pathWidth: PropTypes.Requireable<number>;
    }
    namespace defaultProps {
        let width_1: number;
        export { width_1 as width };
        let height_1: number;
        export { height_1 as height };
        let margin_1: number;
        export { margin_1 as margin };
        export namespace bounds_1 {
            let x1: number;
            let y1: number;
            let x2: number;
            let y2: number;
        }
        export { bounds_1 as bounds };
        let edgeDrawingMethod_1: string;
        export { edgeDrawingMethod_1 as edgeDrawingMethod };
        let legendItems_1: null;
        export { legendItems_1 as legendItems };
        export namespace selection_1 {
            let nodes: {};
            let edges: {};
        }
        export { selection_1 as selection };
        let paths_1: never[];
        export { paths_1 as paths };
        let pathWidth_1: number;
        export { pathWidth_1 as pathWidth };
    }
}
