import { strokeDashTypes } from "@react-financial-charts/core";
import { ScaleContinuousNumeric } from "d3-scale";
import * as React from "react";
interface AxisProps {
    readonly axisZoomCallback?: (domain: number[]) => void;
    readonly bg: {
        h: number;
        x: number;
        w: number;
        y: number;
    };
    readonly className?: string;
    readonly domainClassName?: string;
    readonly edgeClip: boolean;
    readonly fontFamily?: string;
    readonly fontSize?: number;
    readonly fontWeight?: number;
    readonly getMouseDelta: (startXY: [number, number], mouseXY: [number, number]) => number;
    readonly getScale: (moreProps: any) => ScaleContinuousNumeric<number, number>;
    readonly innerTickSize?: number;
    readonly inverted?: boolean;
    readonly onContextMenu?: (e: React.MouseEvent, mousePosition: [number, number]) => void;
    readonly onDoubleClick?: (e: React.MouseEvent, mousePosition: [number, number]) => void;
    readonly orient?: "top" | "left" | "right" | "bottom";
    readonly outerTickSize: number;
    readonly range: number[];
    readonly showDomain?: boolean;
    readonly showGridLines?: boolean;
    readonly showTicks?: boolean;
    readonly showTickLabel?: boolean;
    readonly strokeStyle: string;
    readonly strokeWidth: number;
    readonly tickFormat?: (data: any) => string;
    readonly tickPadding?: number;
    readonly tickSize?: number;
    readonly ticks?: number;
    readonly tickLabelFill?: string;
    readonly tickStrokeStyle?: string;
    readonly tickStrokeWidth?: number;
    readonly tickStrokeDasharray?: strokeDashTypes;
    readonly tickValues?: number[] | ((domain: number[]) => number[]);
    readonly tickInterval?: number;
    readonly tickIntervalFunction?: (min: number, max: number, tickInterval: number) => number[];
    readonly transform: number[];
    readonly zoomEnabled?: boolean;
    readonly zoomCursorClassName?: string;
}
export declare class Axis extends React.Component<AxisProps> {
    static defaultProps: {
        edgeClip: boolean;
        zoomEnabled: boolean;
        zoomCursorClassName: string;
    };
    private readonly chartRef;
    render(): JSX.Element;
    private readonly getMoreProps;
    private readonly drawOnCanvas;
}
export {};
