import { ScaleContinuousNumeric } from "d3-scale";
import * as React from "react";
export interface AxisZoomCaptureProps {
    readonly axisZoomCallback?: (domain: number[]) => void;
    readonly bg: {
        h: number;
        x: number;
        w: number;
        y: number;
    };
    readonly className?: string;
    readonly getMoreProps: () => any;
    readonly getScale: (moreProps: any) => ScaleContinuousNumeric<number, number>;
    readonly getMouseDelta: (startXY: [number, number], mouseXY: [number, number]) => number;
    readonly innerTickSize?: number;
    readonly inverted?: boolean;
    readonly onDoubleClick?: (e: React.MouseEvent, mousePosition: [number, number]) => void;
    readonly onContextMenu?: (e: React.MouseEvent, mousePosition: [number, number]) => void;
    readonly outerTickSize?: number;
    readonly showDomain?: boolean;
    readonly showTicks?: boolean;
    readonly tickFormat?: (datum: number) => string;
    readonly tickPadding?: number;
    readonly tickSize?: number;
    readonly ticks?: number;
    readonly tickValues?: number[];
    readonly zoomCursorClassName?: string;
}
interface AxisZoomCaptureState {
    startPosition: {
        startScale: ScaleContinuousNumeric<number, number>;
        startXY: [number, number];
    } | null;
}
export declare class AxisZoomCapture extends React.Component<AxisZoomCaptureProps, AxisZoomCaptureState> {
    private readonly ref;
    private clicked;
    private dragHappened;
    constructor(props: AxisZoomCaptureProps);
    render(): JSX.Element;
    private readonly handleDragEnd;
    private readonly handleDrag;
    private readonly handleDragStartTouch;
    private readonly handleDragStartMouse;
    private readonly handleRightClick;
}
export {};
