import type { Point } from '../../core/types/point.js'; import type { BarSeriesQueryResult, RectSeriesQueryResult, SeriesQueryResult } from '../context/XYChartOverlayPerformance.context.js'; import type { AxisIdToScales } from '../context/XYChartScales.context.js'; import { type AxisIdToScaleDomain, type BarSeriesWithDatapoints, type RectDatapointInternal, type RectSeriesWithDatapoints, type SeriesToMetadata, type MapDatapoints } from '../types/xy-chart-internals.js'; import type { BarDatapoint } from '../types/xy-chart.js'; interface RectAccessors { xAccessor: (datapoint: RectDatapointInternal) => number; yAccessor: (datapoint: RectDatapointInternal) => number; widthAccessor: (datapoint: RectDatapointInternal) => number; heightAccessor: (datapoint: RectDatapointInternal) => number; } interface BarAccessors { xAccessor: (datapoint: BarDatapoint) => number; yAccessor: (datapoint: BarDatapoint) => number; widthAccessor: (datapoint: BarDatapoint) => number; heightAccessor: (datapoint: BarDatapoint) => number; } export declare function getAccessors(series: RectSeriesWithDatapoints | BarSeriesWithDatapoints, axisIdToScales: AxisIdToScales, datapointMetadataMap: MapDatapoints, xRelAccessor?: (d: number) => number, yRelAccessor?: (d: number) => number): { xAccessor: (datapoint: RectDatapointInternal) => number; yAccessor: (datapoint: RectDatapointInternal) => number; widthAccessor: (datapoint: RectDatapointInternal) => number; heightAccessor: (datapoint: RectDatapointInternal) => number; } | { xAccessor: (datapoint: BarDatapoint) => number; yAccessor: (datapoint: BarDatapoint) => number; widthAccessor: (datapoint: BarDatapoint) => number; heightAccessor: (datapoint: BarDatapoint) => number; }; export declare const getPixelDimensionsForDatapoint: (datapoint: RectDatapointInternal | BarDatapoint, genAccessors: RectAccessors | BarAccessors) => { x: number; y: number; width: number; height: number; }; /** * Retrieves the datapoint that is currently being hovered over based on the given position. */ export declare function getHoveredDatapoint(position: Point, series: RectSeriesWithDatapoints | BarSeriesWithDatapoints, axisIdToScales: AxisIdToScales, datapointMetadataMap: MapDatapoints, seriesToMetadata: SeriesToMetadata, axisIdToScaleDomain: AxisIdToScaleDomain): BarDatapoint | RectDatapointInternal | undefined; export declare function buildQueryHovered(axisIdToScales: AxisIdToScales, datapointMetadataMap: MapDatapoints, seriesToMetadata: SeriesToMetadata, axisIdToScaleDomain: AxisIdToScaleDomain): { (arrayOfSeries: RectSeriesWithDatapoints[], position: Point): RectSeriesQueryResult | undefined; (arrayOfSeries: BarSeriesWithDatapoints[], position: Point): BarSeriesQueryResult | undefined; }; export type QueryAllHovered = (arrayOfSeries: (RectSeriesWithDatapoints | BarSeriesWithDatapoints)[], position: Point) => SeriesQueryResult[]; export declare function buildQueryAllHovered(axisIdToScales: AxisIdToScales, datapointMetadataMap: MapDatapoints, seriesToMetadata: SeriesToMetadata, axisIdToScaleDomain: AxisIdToScaleDomain): QueryAllHovered; export {};