import * as React from "react";
interface FibonacciRetracementProps {
    readonly enabled: boolean;
    readonly width?: number;
    readonly onStart?: (moreProps: any) => void;
    readonly onComplete?: (e: React.MouseEvent, newRetracements: any[], moreProps: any) => void;
    readonly onSelect?: (e: React.MouseEvent, interactives: any[], moreProps: any) => void;
    readonly type: "EXTEND" | "RAY" | "BOUND";
    readonly hoverText: object;
    readonly currentPositionStroke?: string;
    readonly currentPositionStrokeWidth?: number;
    readonly currentPositionOpacity?: number;
    readonly currentPositionRadius?: number;
    readonly retracements: any[];
    readonly appearance: {
        readonly strokeStyle: string;
        readonly strokeWidth: number;
        readonly fontFamily: string;
        readonly fontSize: number;
        readonly fontFill: string;
        readonly edgeStroke: string;
        readonly edgeFill: string;
        readonly nsEdgeFill: string;
        readonly edgeStrokeWidth: number;
        readonly r: number;
    };
}
interface FibonacciRetracementState {
    current?: any;
    override?: any;
}
export declare class FibonacciRetracement extends React.Component<FibonacciRetracementProps, FibonacciRetracementState> {
    static defaultProps: {
        enabled: boolean;
        type: string;
        retracements: never[];
        onSelect: () => void;
        hoverText: {
            enable: boolean;
            bgHeight: string;
            bgWidth: string;
            text: string;
            selectedText: string;
            fontFamily: string;
            fontSize: number;
            fill: string;
            bgFill: string;
            bgOpacity: number;
        };
        currentPositionStroke: string;
        currentPositionOpacity: number;
        currentPositionStrokeWidth: number;
        currentPositionRadius: number;
        appearance: {
            strokeStyle: string;
            strokeWidth: number;
            fontFamily: string;
            fontSize: number;
            fontFill: string;
            edgeStroke: string;
            edgeFill: string;
            nsEdgeFill: string;
            edgeStrokeWidth: number;
            r: number;
        };
    };
    private getSelectionState;
    private mouseMoved;
    private saveNodeType;
    private terminate;
    constructor(props: FibonacciRetracementProps);
    render(): JSX.Element;
    private readonly handleDrawRetracement;
    private readonly handleEdge1Drag;
    private readonly handleDrag;
    private readonly handleEdge2Drag;
    private readonly handleDragComplete;
    private readonly handleStart;
    private readonly handleEnd;
}
export {};
