import type { Quadtree } from 'd3-quadtree'; import type { Point } from '../../core/types/point.js'; import type { AREA_VARIANT, SeriesId, AreaSeriesWithDatapoints, DotSeriesWithDatapoints, LineSeriesWithDatapoints, RECT_VARIANT, RectSeriesWithDatapoints, RectDatapointInternal, BarSeriesWithDatapoints, BAR_VARIANT } from '../types/xy-chart-internals.js'; import { DOT_VARIANT, LINE_VARIANT } from '../types/xy-chart-internals.js'; import type { AreaDatapoint, BarDatapoint, DotDatapoint, LineDatapoint } from '../types/xy-chart.js'; export type SeriesQuadtreeDatapoint = DotDatapoint | LineDatapoint | AreaDatapoint; export type SeriesToQuadtree = Map>; export type DotSeriesQueryResult = { type: typeof DOT_VARIANT; distance: number; datapoint: DotDatapoint; series: DotSeriesWithDatapoints; }; export type LineSeriesQueryResult = { type: typeof LINE_VARIANT; distance: number; datapoint: LineDatapoint; series: LineSeriesWithDatapoints; }; export type RectSeriesQueryResult = { type: typeof RECT_VARIANT; distance: number; datapoint: RectDatapointInternal; series: RectSeriesWithDatapoints; }; export type BarSeriesQueryResult = { type: typeof BAR_VARIANT; distance: number; datapoint: BarDatapoint; series: BarSeriesWithDatapoints; }; export type AreaSeriesQueryResult = { type: typeof AREA_VARIANT; distance: number; datapoint: AreaDatapoint; series: AreaSeriesWithDatapoints; }; export type SeriesQueryResult = DotSeriesQueryResult | LineSeriesQueryResult | AreaSeriesQueryResult | RectSeriesQueryResult | BarSeriesQueryResult; export type QueryClosest = { (series: DotSeriesWithDatapoints[], position: Point): DotSeriesQueryResult | undefined; (series: LineSeriesWithDatapoints[], position: Point): LineSeriesQueryResult | undefined; (series: AreaSeriesWithDatapoints[], position: Point): AreaSeriesQueryResult | undefined; }; export type QueryHovered = { (series: RectSeriesWithDatapoints[], position: Point): RectSeriesQueryResult | undefined; (series: BarSeriesWithDatapoints[], position: Point): BarSeriesQueryResult | undefined; }; export interface XYChartOverlayPerformance { queryClosest: QueryClosest; queryHovered: QueryHovered; } export declare const XYChartOverlayPerformanceContext: import("react").Context;