import { _ModuleSupport } from 'ag-charts-community'; import { AbstractModuleInstance, Bitfield, type DynamicContext } from 'ag-charts-core'; import type { DataSetSelectionsIterator } from './dataSelectionUtil'; import { DataSetSelection } from './dataSetSelection'; type ChartRegistry = _ModuleSupport.ChartRegistry; type DataChangeDescription = _ModuleSupport.DataChangeDescription; type DataSet = _ModuleSupport.DataSet; type IDataSelectionService = _ModuleSupport.IDataSelectionService; type SelectionStateEnum = _ModuleSupport.SelectionState; type SeriesLike = Parameters[0]; export declare class DataSelectionService extends AbstractModuleInstance implements IDataSelectionService { private readonly ctx?; private moduleEnabled; totalSelectedCount: number; totalCandidacyCount: number; candidacyInProgress: boolean; candidacyUnion: boolean; /** Per-series selection state. Keyed by `seriesId`. */ selections: Map; /** Per-series candidacy state. Keyed by `seriesId`. */ private readonly candidacy; constructor(ctx?: DynamicContext | undefined); private onObservation; private recountTotalSelections; private isSeriesSelectionEnabled; isEnabled(): boolean; setEnabled(newEnabled: boolean): void; clearSelection(): void; clearCandidacy(): void; /** Lazy-create a per-series selection backed by a Uint8Array of `data.length`. */ enableSelection(seriesId: string, data: DataSet): DataSetSelection; enableCandidacy(seriesId: string, data: DataSet): Bitfield; iterateDataSetSelections(): Generator; /** * Transfer persistent state (selections) from a predecessor DataSet. * Uses `idArray` + `idToIndexMap` to map selected keys from old to new index space. * Without `dataIdKey`, selections cannot be transferred and are dropped. */ transferDataSet(newDataSet: DataSet, oldDataSet: DataSet): void; onDataChange(changeDescription: DataChangeDescription): void; getDataSetSelection(series: SeriesLike): DataSetSelection | undefined; getDataSelectionState(series: SeriesLike, datumIndex: number | undefined): SelectionStateEnum | undefined; getDataCandidateState(series: SeriesLike, datumIndex: number | undefined): SelectionStateEnum | undefined; } export {};