import * as React from "react";
export interface EachGannFanProps {
    readonly startXY: number[];
    readonly endXY: number[];
    readonly dy?: number;
    readonly interactive: boolean;
    readonly selected: boolean;
    readonly appearance: {
        readonly stroke: string;
        readonly strokeWidth: number;
        readonly edgeStroke: string;
        readonly edgeFill: string;
        readonly edgeStrokeWidth: number;
        readonly r: number;
        readonly fill: Array<string>;
        readonly fontFamily: string;
        readonly fontSize: number;
        readonly fontFill: string;
    };
    readonly hoverText: {
        readonly enable: boolean;
        readonly fontFamily: string;
        readonly fontSize: number;
        readonly fill: string;
        readonly text: string;
        readonly bgFill: string;
        readonly bgOpacity: number;
        readonly bgWidth: number | string;
        readonly bgHeight: number | string;
        readonly selectedText: string;
    };
    readonly index?: number;
    readonly onDrag: (e: React.MouseEvent, index: number | undefined, moreProps: any) => void;
    readonly onDragComplete?: (e: React.MouseEvent, moreProps: any) => void;
}
interface EachGannFanState {
    hover: boolean;
}
export declare class EachGannFan extends React.Component<EachGannFanProps, EachGannFanState> {
    static defaultProps: {
        yDisplayFormat: (d: number) => string;
        interactive: boolean;
        selected: boolean;
        appearance: {
            stroke: string;
            strokeWidth: number;
            edgeStroke: string;
            edgeFill: string;
            edgeStrokeWidth: number;
            r: number;
            fill: string[];
            fontFamily: string;
            fontSize: number;
            fontFill: string;
        };
        onDrag: () => void;
        hoverText: {
            enable: boolean;
            bgHeight: number;
            bgWidth: number;
            text: string;
            fontFamily: string;
            fontSize: number;
            fill: string;
            bgFill: string;
            bgOpacity: number;
        };
    };
    private isHover;
    private dragStart;
    private saveNodeType;
    constructor(props: EachGannFanProps);
    render(): JSX.Element;
    private readonly getEdgeCircle;
    private readonly handleLine1Edge2Drag;
    private readonly handleLine1Edge1Drag;
    private readonly handleFanDrag;
    private readonly handleDragStart;
    private readonly handleHover;
}
export {};
