import type { SelectState } from '../../../../core/components/interactions-state-helpers/types.js'; import type { XYChartLinearSelectionContextValue } from '../../../context/XYChartLinearSelection.context.js'; import type { AxisIdToScales } from '../../../context/XYChartScales.context.js'; import type { useBarData } from '../../../hooks/useBarData.js'; import type { useRectData } from '../../../hooks/useRectData.js'; import type { useXYChartRectSelection } from '../../../hooks/useXYChartRectSelection.js'; import type { useXYChartScales } from '../../../hooks/useXYChartScales.js'; import type { useSelectState } from '../../../store/selectors.js'; import type { XYChartExploreState } from '../../../types/state.js'; import { type AxisIdToScaleDomain, type BarSeriesToMetadata, type BarSeriesWithDatapoints, type DotMetadata, type DotSeriesToMetadata, type DotSeriesWithDatapoints, type HighlightedLinearPoint, type LineMetadata, type LineSeriesToMetadata, type LineSeriesWithDatapoints, type RectDatapointInternal, type RectMetadata, type RectSeriesToMetadata, type RectSeriesWithDatapoints, type AreaMetadata, type AreaSeriesWithDatapoints, type MapDatapoints, type XYChartAxisInternal, type XYChartSeriesWithDatapoints, type AreaSeriesToMetadata } from '../../../types/xy-chart-internals.js'; import type { AreaDatapoint, BarDatapoint, DotDatapoint, LineDatapoint } from '../../../types/xy-chart.js'; import { type BinDomain } from '../../../utils/value-representation.js'; import type { RectanglePoint } from '../explore/types.js'; type DomainValue = [number, number] | [Date, Date] | string[]; export interface XYChartSelectedDatapointsPerSeries { seriesName: string; datapoints: DotDatapoint[] | LineDatapoint[] | RectDatapointInternal[] | BarDatapoint[] | AreaDatapoint[]; domain: DomainValue; } export declare const getSelectedDatapoints: (seriesWithDatapoints: XYChartSeriesWithDatapoints[], axisIdToScales: AxisIdToScales, axes: XYChartAxisInternal[], selection: { start: number; end: number; }, dotSeriesToMetadata: DotSeriesToMetadata, lineSeriesToMetadata: LineSeriesToMetadata, rectSeriesToMetadata: RectSeriesToMetadata, datapointMetadataMap: MapDatapoints, axisIdToScaleDomain: Map, barSeriesToMetadata: BarSeriesToMetadata, areaSeriesToMetadata: AreaSeriesToMetadata) => XYChartSelectedDatapointsPerSeries[]; /** * Returns true if the content state refers to a linear (dot, line, or area) point. */ export declare function hasLinearContentPoint(contentState: XYChartExploreState['content']): boolean; /** * Collect all distinct xAxisIds from provided linear series arrays. */ export declare function collectLinearXAxisIds(dotSeries: DotSeriesWithDatapoints[], lineSeries: LineSeriesWithDatapoints[], areaSeries: AreaSeriesWithDatapoints[]): Set; /** * Build highlighted points derived from a selection (brush / range selection). * Returns an empty array if preconditions fail. */ export declare function buildSelectionHighlightedPoints(params: { selectState: SelectState | undefined; linearSelection: XYChartLinearSelectionContextValue; width: number; axisIdToScales: AxisIdToScales; dotSeriesWithDatapoints: DotSeriesWithDatapoints[]; lineSeriesWithDatapoints: LineSeriesWithDatapoints[]; areaSeriesWithDatapoints: AreaSeriesWithDatapoints[]; dotSeriesMeta: Map; lineSeriesMeta: Map; areaSeriesMeta: Map; axisIdToScaleDomain: AxisIdToScaleDomain; axes: XYChartAxisInternal[]; datapointMetadataMap: MapDatapoints; }): HighlightedLinearPoint[]; /** * Build highlighted points from the current content (hover/focus) state. * Returns an array of points. For area bands, returns two points (top and bottom). * Returns an empty array if not linear or scales missing. */ export declare function buildContentHighlightedPoint(params: { contentState: XYChartExploreState['content']; axisIdToScales: AxisIdToScales; dotSeriesMeta: Map; lineSeriesMeta: Map; areaSeriesMeta: Map; axisIdToScaleDomain: Map; datapointMetadataMap: MapDatapoints; }): HighlightedLinearPoint[]; type SelectStateValue = ReturnType; type RectSelectionValue = ReturnType; type BarSeriesMeta = ReturnType['seriesToMetadata']; type RectSeriesMeta = ReturnType['seriesToMetadata']; type RectSeriesList = RectSeriesWithDatapoints[]; type BarSeriesList = BarSeriesWithDatapoints[]; export declare function buildSelectionHighlightedRectangles(params: { selectState: SelectStateValue; rectSelection: RectSelectionValue; width: number; rectSeriesMeta: Map; rectSeriesWithDatapoints: RectSeriesList; barSeriesWithDatapoints: BarSeriesList; barSeriesMeta: BarSeriesMeta; axisIdToScales: ReturnType; axisIdToScaleDomain: AxisIdToScaleDomain; axes: XYChartAxisInternal[]; datapointMetadataMap: MapDatapoints; }): RectanglePoint[]; export declare function buildContentHighlightedRectangle(params: { contentState: XYChartExploreState['content']; axisIdToScales: ReturnType; barSeriesMeta: BarSeriesMeta; rectSeriesMeta: RectSeriesMeta; datapointMetadataMap: MapDatapoints; axisIdToScaleDomain: Map; }): RectanglePoint | null; export declare function buildRectangleHighlightedPoints(params: { selectState: SelectStateValue; rectSelection: RectSelectionValue; width: number; rectSeriesWithDatapoints: RectSeriesList; barSeriesWithDatapoints: BarSeriesList; axisIdToScales: ReturnType; contentState: XYChartExploreState['content']; barSeriesMeta: BarSeriesMeta; rectSeriesMeta: RectSeriesMeta; datapointMetadataMap: MapDatapoints; axisIdToScaleDomain: Map; axes: XYChartAxisInternal[]; }): RectanglePoint[]; export {};