import { Axes } from '../Axes/axes.js';
import { CartesianAxes } from '../index.js';
import { Visitor } from './visitor.js';
export declare enum MouseOverDirection {
    Horizontal = "horizontal",
    Vertical = "vertical"
}
interface MouseOverOptions {
    trace?: string[];
    numberFormatter?: (value: number, extent?: [number, number]) => string;
    direction?: MouseOverDirection;
}
export declare class MouseOver implements Visitor {
    private trace;
    private group;
    private axes;
    private mouseGroup;
    private customNumberFormatter;
    private direction;
    constructor(options?: MouseOverOptions);
    setTrace(trace: string[] | undefined): void;
    visit(axes: Axes): void;
    create(axes: CartesianAxes): void;
    onPointerout(): void;
    onPointerover(): void;
    updateChartIndicators(mouse: [number, number]): void;
    update(mouse: [number, number]): void;
    updateXLine(xPos: number): void;
    updateXValue(xPos: number): void;
    updateYLine(yPos: number): void;
    updateYValue(yPos: number): void;
    updateTooltip(spanElements: HTMLSpanElement[], mouse: [number, number]): void;
    private xText;
    private yText;
    redraw(): void;
}
export {};
