import * as React from "react";
export interface InteractiveTextProps {
    readonly bgFillStyle: string;
    readonly bgStrokeWidth: number;
    readonly bgStroke: string;
    readonly defaultClassName?: string;
    readonly fontFamily: string;
    readonly fontSize: number;
    readonly fontWeight: number | string;
    readonly fontStyle: string;
    readonly onDragStart?: (e: React.MouseEvent, moreProps: any) => void;
    readonly onDrag?: (e: React.MouseEvent, moreProps: any) => void;
    readonly onDragComplete?: (e: React.MouseEvent, moreProps: any) => void;
    readonly onHover?: (e: React.MouseEvent, moreProps: any) => void;
    readonly onUnHover?: (e: React.MouseEvent, moreProps: any) => void;
    readonly position?: any;
    readonly interactiveCursorClass?: string;
    readonly selected: boolean;
    readonly text: string;
    readonly textFill: string;
    readonly tolerance: number;
}
export declare class InteractiveText extends React.Component<InteractiveTextProps> {
    static defaultProps: {
        type: string;
        fontWeight: string;
        tolerance: number;
        selected: boolean;
    };
    private calculateTextWidth;
    private textWidth?;
    componentDidUpdate(previousProps: InteractiveTextProps): void;
    render(): JSX.Element;
    private readonly isHover;
    private readonly drawOnCanvas;
    private readonly helper;
}
