import { AnnotationMark, LineHoverDimension, Scale } from '../types';
export declare const getAnnotationsPositions: (annotationData: AnnotationMark[], xScale: Scale<any, any>, yScale: Scale<any, any>) => AnnotationMark[];
export declare const sortDistances: (dist1: any, dist2: any) => number;
/***********************************************************************************
 * ANNOTATIONS HOVERING
 *
 * This returns the index of the annotation in the cell that should have its
 *  tooltip popup appear.
 *
 * hover dimension 'xy' means find annotations only near the mouse position
 * hover dimension 'x' means find annotations along the x-axis at mouse position
 * hover dimension 'y' means find annotations along the y-axis at mouse position
 * hover dimension 'auto' means 'xy' see above
 *
 * Check to see if mouse position is within annotation's hoverable area only when
 *   hover dimension is 'xy' or hover dimension is same as annotation dimension
 *
 * Cross dimensions means the annotation is always hovered, occurs when:
 *   hover dimension is 'x' && annotation dimension is 'y'
 *   hover dimension is 'y' && annotation dimension is 'x'
 *
 *  This method accounts for overlapping annotations; if a point annotation is within a range
 *  annotation, the point annotation tooltip *will* show up when the mouse is within
 *  the ANNOTATION_DEFAULT_OVERLAP_HOVER_MARGIN, which is equal to 10;
 *  which is essentially only when the mouse is right on top of the line.
 *
 *  (see previous method to sort distances for details)
 *
 */
export declare const getAnnotationHoverIndices: (hoverDimension: LineHoverDimension, hoverMargin: number, annotationData: AnnotationMark[], hoverX: number, hoverY: number) => number[];
