import { ScaleContinuousNumeric } from "d3-scale";
import * as React from "react";
export interface BarAnnotationProps {
    readonly className?: string;
    readonly path?: ({ x, y }: {
        x: number;
        y: number;
    }) => string;
    readonly onClick?: (e: React.MouseEvent, data: {
        xScale?: ScaleContinuousNumeric<number, number>;
        yScale?: ScaleContinuousNumeric<number, number>;
        datum: any;
    }) => void;
    readonly xAccessor?: (datum: any) => any;
    readonly xScale?: ScaleContinuousNumeric<number, number>;
    readonly yScale?: ScaleContinuousNumeric<number, number>;
    readonly datum?: object;
    readonly stroke?: string;
    readonly fill?: string | ((datum: any) => string);
    readonly opacity?: number;
    readonly plotData: any[];
    readonly text?: string;
    readonly textAnchor?: string;
    readonly fontFamily?: string;
    readonly fontSize?: number;
    readonly textOpacity?: number;
    readonly textFill?: string;
    readonly textRotate?: number;
    readonly textXOffset?: number;
    readonly textYOffset?: number;
    readonly textIcon?: string;
    readonly textIconFontSize?: number;
    readonly textIconOpacity?: number;
    readonly textIconFill?: string;
    readonly textIconRotate?: number;
    readonly textIconXOffset?: number;
    readonly textIconYOffset?: number;
    readonly textIconAnchor?: string;
    readonly tooltip?: string | ((datum: any) => string);
    readonly x?: number | (({ xScale, xAccessor, datum, plotData, }: {
        xScale: ScaleContinuousNumeric<number, number>;
        xAccessor: (datum: any) => any;
        datum: any;
        plotData: any[];
    }) => number);
    readonly y?: number | (({ yScale, datum, plotData, }: {
        yScale: ScaleContinuousNumeric<number, number>;
        datum: any;
        plotData: any[];
    }) => number);
}
export declare class BarAnnotation extends React.Component<BarAnnotationProps> {
    static defaultProps: {
        className: string;
        opacity: number;
        fill: string;
        fontFamily: string;
        fontSize: number;
        textAnchor: string;
        textFill: string;
        textOpacity: number;
        textIconFill: string;
        textIconFontSize: number;
        x: ({ xScale, xAccessor, datum, }: {
            xScale: ScaleContinuousNumeric<number, number>;
            xAccessor: any;
            datum: any;
        }) => number;
    };
    render(): JSX.Element;
    private readonly onClick;
    private readonly helper;
}
