import type { Channel, ChannelOutput, CartesianScaleBindings, ChartFocusMatch, ChartKey, ChartMark, ChartMarkMotionOptions, ChartPoint, ChartValue, VisualChannel } from './types.js'; export interface FocusGuideRuleOptions { stroke?: VisualChannel; strokeOpacity?: VisualChannel; strokeWidth?: VisualChannel; strokeDasharray?: VisualChannel; lineCap?: 'butt' | 'round' | 'square'; } export interface FocusGuideMarkerOptions { radius?: VisualChannel; fill?: VisualChannel; fillOpacity?: VisualChannel; stroke?: VisualChannel; strokeOpacity?: VisualChannel; strokeWidth?: VisualChannel; } export interface FocusGuideLabelFormatContext { readonly point: ChartPoint; } export interface FocusGuideLabelOptions { format?: (value: TValue, context: FocusGuideLabelFormatContext) => string; side?: 'start' | 'end'; offset?: number; paddingX?: number; paddingY?: number; radius?: number; background?: VisualChannel; color?: VisualChannel; stroke?: VisualChannel; strokeWidth?: number; fontSize?: number; fontWeight?: number; } type FocusGuideChannel = Channel; export interface FocusGuideOptions, TYChannel extends FocusGuideChannel> extends ChartMarkMotionOptions, CartesianScaleBindings { id?: string; x: TXChannel; y: TYChannel; z?: Channel; key?: Channel; match?: ChartFocusMatch; xRule?: false | FocusGuideRuleOptions; yRule?: false | FocusGuideRuleOptions; marker?: false | FocusGuideMarkerOptions; xLabel?: false | FocusGuideLabelOptions, ChannelOutput, ChannelOutput>; yLabel?: false | FocusGuideLabelOptions, ChannelOutput, ChannelOutput>; } export declare function focusGuideX>, const TYChannel extends FocusGuideChannel>, const TXScaleId extends string = 'x', const TYScaleId extends string = 'y'>(source: Iterable, options: FocusGuideOptions, TXChannel, TYChannel> & { xScale?: TXScaleId; yScale?: TYScaleId; }): ChartMark, ChannelOutput, ChannelOutput, ChannelOutput, TXScaleId, TYScaleId>; export declare function focusGuideY>, const TYChannel extends FocusGuideChannel>, const TXScaleId extends string = 'x', const TYScaleId extends string = 'y'>(source: Iterable, options: FocusGuideOptions, TXChannel, TYChannel> & { xScale?: TXScaleId; yScale?: TYScaleId; }): ChartMark, ChannelOutput, ChannelOutput, ChannelOutput, TXScaleId, TYScaleId>; export {};