import type { UseChartKeyboardNavigationSignature } from "./plugins/featurePlugins/useChartKeyboardNavigation/index.js"; import type { ChartState } from "./plugins/models/chart.js"; import type { ChartSeriesType } from "../models/seriesType/config.js"; import type { SeriesId } from "../models/seriesType/index.js"; type ReturnedItem = { type: OutSeriesType; seriesId: SeriesId; dataIndex: number; } | null; /** * The item the navigators work on. Decoupled from the public `FocusedItemIdentifier` because * navigation is position-based: series keyed differently (e.g. `mapShape`, keyed by `name`) * reuse these helpers by translating to a `dataIndex` at their boundary. */ type WorkingItem = { type: Exclude; seriesId: SeriesId; dataIndex?: number; }; type StateParameters = Pick, 'series'>; export declare function createGetNextIndexFocusedItem, OutSeriesType extends Exclude = InSeriesType>( /** * The set of series types compatible with this navigation action. */ compatibleSeriesTypes: Set, /** * If true, allows cycling from the last item to the first one. */ allowCycles?: boolean, /** * If true (default), series max index is defined by the current series length and not all series. */ useCurrentSeriesMaxLength?: boolean): (currentItem: WorkingItem | null, state: StateParameters) => ReturnedItem; export declare function createGetPreviousIndexFocusedItem, OutSeriesType extends Exclude = InSeriesType>( /** * The set of series types compatible with this navigation action. */ compatibleSeriesTypes: Set, /** * If true, allows cycling from the last item to the first one. */ allowCycles?: boolean, /** * If true (default), series max index is defined by the current series length and not all series. */ useCurrentSeriesMaxLength?: boolean): (currentItem: WorkingItem | null, state: StateParameters) => ReturnedItem; export declare function createGetNextSeriesFocusedItem, OutSeriesType extends Exclude = InSeriesType>( /** * The set of series types compatible with this navigation action. */ compatibleSeriesTypes: Set): (currentItem: WorkingItem | null, state: StateParameters) => ReturnedItem; export declare function createGetPreviousSeriesFocusedItem, OutSeriesType extends Exclude = InSeriesType>( /** * The set of series types compatible with this navigation action. */ compatibleSeriesTypes: Set): (currentItem: WorkingItem | null, state: StateParameters) => ReturnedItem; export {};