import { type ChartCursorHostExtension } from './cursor-host-contract.js'; export { chartPointFromNavigationOrder, chartPointFromSceneOrder, resolveChartFocusStrategy, resolveChartPointerFocus, restoreChartFocusPoint, sameChartPointIdentity, } from './interaction.js'; import type { ChartCursorBinding, ChartCursorController, ChartCursorPresentation, ChartCursorState, ChartFocusSource, ChartFocusState, ChartFocusStrategy, ChartPoint, ChartScene, ChartValue } from './types.js'; /** Creates a framework-neutral cursor store that can be shared by many hosts. */ export declare function createChartCursor(initialState?: ChartCursorState | null): ChartCursorController; /** Platform-neutral cursor behavior injected into chart hosts by a binding. */ export declare const cursorHost: ChartCursorHostExtension; /** Projects shared cursor state into one chart's plot and scales. */ export declare function resolveChartCursorPresentation(scene: ChartScene, binding: ChartCursorBinding, state: ChartCursorState | null): ChartCursorPresentation | null; /** Creates free-cursor state from a scene position without resolving a datum. */ export declare function createFreeChartCursorState(scene: ChartScene, binding: Extract, { mode: 'free'; }>, position: Readonly<{ x: number; y: number; }>, source?: ChartFocusSource, pinned?: boolean): ChartCursorState; /** Creates a semantic cursor from focus selected by the existing focus engine. */ export declare function createFocusChartCursorState(scene: ChartScene, binding: Extract, { mode: 'focus'; }>, focus: ChartFocusState): ChartCursorState; /** Resolves a semantic shared cursor to local points, then reuses focus grouping. */ export declare function resolveChartCursorFocus(points: readonly ChartPoint[], binding: Extract, { mode: 'focus'; }>, state: ChartCursorState | null, strategy?: ChartFocusStrategy): readonly ChartPoint[]; export declare function sameChartValue(left: unknown, right: unknown): boolean;