import * as React from "react";
export interface GannFanProps {
    readonly enabled: boolean;
    readonly onStart?: () => void;
    readonly onComplete: (e: React.MouseEvent, newfans: any[], moreProps: any) => void;
    readonly onSelect?: (e: React.MouseEvent, interactives: any[], moreProps: any) => void;
    readonly currentPositionStroke?: string;
    readonly currentPositionStrokeWidth?: number;
    readonly currentPositionOpacity?: number;
    readonly currentPositionRadius?: number;
    readonly appearance: {
        readonly stroke: string;
        readonly strokeOpacity: number;
        readonly fillOpacity: number;
        readonly strokeWidth: number;
        readonly edgeStroke: string;
        readonly edgeFill: string;
        readonly edgeStrokeWidth: number;
        readonly r: number;
        readonly fill: string[];
        readonly fontFamily: string;
        readonly fontSize: number;
        readonly fontFill: string;
    };
    readonly hoverText: object;
    readonly fans: any[];
}
interface GannFanState {
    current?: any;
    override?: any;
}
export declare class GannFan extends React.Component<GannFanProps, GannFanState> {
    static defaultProps: {
        appearance: {
            stroke: string;
            fillOpacity: number;
            strokeOpacity: number;
            strokeWidth: number;
            edgeStroke: string;
            edgeFill: string;
            edgeStrokeWidth: number;
            r: number;
            fill: string[];
            fontFamily: string;
            fontSize: number;
            fontFill: string;
        };
        onSelect: () => void;
        currentPositionStroke: string;
        currentPositionOpacity: number;
        currentPositionStrokeWidth: number;
        currentPositionRadius: number;
        hoverText: {
            enable: boolean;
            bgHeight: number;
            bgWidth: number;
            text: string;
            fontFamily: string;
            fontSize: number;
            fill: string;
            bgFill: string;
            bgOpacity: number;
        };
        fans: never[];
    };
    private mouseMoved;
    private getSelectionState;
    private saveNodeType;
    private terminate;
    constructor(props: GannFanProps);
    render(): JSX.Element;
    private readonly handleEnd;
    private readonly handleStart;
    private readonly handleDrawFan;
    private readonly handleDragFanComplete;
    private readonly handleDragFan;
}
export {};
