/**
 * @fileOverview Renders all annotations in the chart.
 * Uses the Blanket to overlay the chart to capture mouse/touch events.
 *
 * It is likely that if you write your own Annotations component, you will want to
 * follow the same pattern as this one. You may be able to reuse some of the hooks
 * and components from the annotations/ folder.
 */
import React from 'react';
import type { Annotation, AnnotationType, SnapMode } from './types.js';
import { SnapResult } from './useSnap.js';
interface RenderAnnotationsProps {
    annotations: Annotation[];
    isAdding: AnnotationType | null;
    followerPosition: SnapResult | null;
    firstClickPosition: SnapResult | null;
    snapMode: SnapMode;
    onChartClick: (snap: SnapResult) => void;
    onChartMouseDown: (snap: SnapResult) => void;
    onChartMouseUp: (snap: SnapResult) => void;
    onChartMouseMove: (snap: SnapResult) => void;
    onChartMouseLeave: () => void;
}
/**
 * Component that renders all annotations and handles mouse events for adding new annotations.
 *
 * This component should be rendered inside a Recharts chart as a child,
 * typically as the last child so it appears on top of other chart elements.
 */
export declare function RenderAnnotations({ annotations, isAdding, followerPosition, firstClickPosition, snapMode, onChartClick, onChartMouseDown, onChartMouseUp, onChartMouseMove, onChartMouseLeave, }: RenderAnnotationsProps): React.JSX.Element;
export {};
