import { default as React } from 'react';
import { default as PropTypes } from 'prop-types';
export class Node extends React.Component<any, any, any> {
    /**
     * Provides a spec for the editor UI to render properties
     * for this node
     */
    static spec(): ({
        attr: string;
        label: string;
        type: string;
        options?: undefined;
    } | {
        attr: string;
        label: string;
        type: string;
        options: {
            value: string;
            label: string;
        }[];
    })[];
    constructor(props: any);
    handMouseClick(e: any): void;
    handleMouseOver(): void;
    handleMouseDown(e: any): void;
    render(): import("react/jsx-runtime").JSX.Element;
}
export namespace Node {
    namespace propTypes {
        let radius: PropTypes.Requireable<number>;
        let selected: PropTypes.Requireable<boolean>;
        let shape: PropTypes.Requireable<string>;
        let style: PropTypes.Requireable<object>;
        let isDragging: PropTypes.Requireable<boolean>;
        let labelOffsetX: PropTypes.Requireable<number>;
        let labelOffsetY: PropTypes.Requireable<number>;
        let rx: PropTypes.Requireable<number>;
        let ry: PropTypes.Requireable<number>;
    }
    namespace defaultProps {
        let radius_1: number;
        export { radius_1 as radius };
        let selected_1: boolean;
        export { selected_1 as selected };
        let shape_1: string;
        export { shape_1 as shape };
        let style_1: {};
        export { style_1 as style };
        let isDragging_1: boolean;
        export { isDragging_1 as isDragging };
        let labelOffsetX_1: number;
        export { labelOffsetX_1 as labelOffsetX };
        let labelOffsetY_1: number;
        export { labelOffsetY_1 as labelOffsetY };
        let rx_1: number;
        export { rx_1 as rx };
        let ry_1: number;
        export { ry_1 as ry };
    }
}
