import { resolveCrosshairGuide } from './crosshair-resolver.js'; import type { CartesianScaleBindings, ChartMark, ChartMarkMotionOptions, ChartValue } from './types.js'; export { resolveCrosshairGuide }; export interface CrosshairRuleOptions { stroke?: string; strokeOpacity?: number; strokeWidth?: number; strokeDasharray?: string; } export interface CrosshairLabelOptions { format?: (value: TValue) => string; offset?: number; fill?: string; fillOpacity?: number; stroke?: string; strokeOpacity?: number; strokeWidth?: number; opacity?: number; fontSize?: number; fontWeight?: number; } /** Paint for a categorical cursor band that replaces one crosshair rule. */ export interface CrosshairBandOptions { /** Inset from both scale-band edges. Negative values create an outset. */ inset?: number; radius?: number; fill?: string; fillOpacity?: number; stroke?: string; strokeOpacity?: number; strokeWidth?: number; opacity?: number; } export interface CrosshairAxisOptions extends CrosshairRuleOptions { label?: boolean | CrosshairLabelOptions; /** Paints the categorical scale band instead of an axis rule. */ band?: boolean | CrosshairBandOptions; } export interface CrosshairMarkerOptions { radius?: number; fill?: string; fillOpacity?: number; stroke?: string; strokeOpacity?: number; strokeWidth?: number; opacity?: number; } export interface CrosshairOptions extends ChartMarkMotionOptions, CrosshairRuleOptions, CartesianScaleBindings { id?: string; /** Draws the vertical guide at the focused x position. Defaults to true. */ x?: boolean | CrosshairAxisOptions; /** Draws the horizontal guide at the focused y position. Defaults to true. */ y?: boolean | CrosshairAxisOptions; /** Draws a marker at the primary focused point. Defaults to false. */ marker?: boolean | CrosshairMarkerOptions; } /** Draws renderer-native guides from the chart's existing focus state. */ export declare function crosshair(options?: CrosshairOptions & { xScale?: TXScaleId; yScale?: TYScaleId; }): ChartMark;