import { ScaleContinuousNumeric } from "d3-scale";
import * as React from "react";
export interface LabelAnnotationProps {
    readonly className?: string;
    readonly datum?: any;
    readonly fill?: string | ((datum: any) => string);
    readonly fontFamily?: string;
    readonly fontSize?: number;
    readonly onClick?: (e: React.MouseEvent, data: {
        xScale?: ScaleContinuousNumeric<number, number>;
        yScale?: ScaleContinuousNumeric<number, number>;
        datum: any;
    }) => void;
    readonly opacity?: number;
    readonly plotData: any[];
    readonly rotate?: number;
    readonly text?: string | ((datum: any) => string);
    readonly textAnchor?: string;
    readonly tooltip?: string | ((datum: any) => string);
    readonly xAccessor?: (datum: any) => any;
    readonly xScale?: ScaleContinuousNumeric<number, number>;
    readonly x?: number | (({ xScale, xAccessor, datum, plotData, }: {
        xScale: ScaleContinuousNumeric<number, number>;
        xAccessor: (datum: any) => any;
        datum: any;
        plotData: any[];
    }) => number);
    readonly yScale?: ScaleContinuousNumeric<number, number>;
    readonly y?: number | (({ yScale, datum, plotData, }: {
        yScale: ScaleContinuousNumeric<number, number>;
        datum: any;
        plotData: any[];
    }) => number);
}
export declare class LabelAnnotation extends React.Component<LabelAnnotationProps> {
    static defaultProps: {
        className: string;
        textAnchor: string;
        fontFamily: string;
        fontSize: number;
        fill: string;
        opacity: number;
        rotate: number;
        x: ({ xScale, xAccessor, datum, }: {
            xScale: ScaleContinuousNumeric<number, number>;
            xAccessor: any;
            datum: any;
        }) => number;
    };
    render(): JSX.Element;
    private readonly handleClick;
    private readonly helper;
}
