import type { DotLayout } from './dot-layout.js'; import type { Channel, CartesianChartMark, CartesianScaleBindings, ChartKey, ChartMark, ChartMarkMotionOptions, ChartMarkState, ChartDotStateStyle, ChartNumericScale, ChartValue, OptionChannelOutput } from './types.js'; export interface DotOptions extends ChartMarkMotionOptions, CartesianScaleBindings { id?: string; x?: Channel; y?: Channel; z?: Channel; color?: Channel; key?: Channel; r?: number | Channel; rScale?: ChartNumericScale; fill?: string; fillOpacity?: number; layout?: DotLayout; stroke?: string; strokeOpacity?: number; strokeWidth?: number; states?: readonly ChartMarkState>[]; } type DotOptionLayout = TOptions extends { readonly layout?: infer TLayout; } ? NonNullable : never; type DotPointX = [DotOptionLayout] extends [never] ? OptionChannelOutput : DotOptionLayout extends DotLayout<'x', infer TAnchor> ? TAnchor : OptionChannelOutput; type DotPointY = [DotOptionLayout] extends [never] ? OptionChannelOutput : DotOptionLayout extends DotLayout<'y', infer TAnchor> ? TAnchor : OptionChannelOutput; type DotScaleX = [DotOptionLayout] extends [never] ? OptionChannelOutput : DotOptionLayout extends DotLayout<'x'> ? never : OptionChannelOutput; type DotScaleY = [DotOptionLayout] extends [never] ? OptionChannelOutput : DotOptionLayout extends DotLayout<'y'> ? never : OptionChannelOutput; export declare function dot(source: Iterable): ChartMark; export declare function dot> | undefined>(source: Iterable, options: TOptions): CartesianChartMark, DotPointY, DotScaleX, DotScaleY, TOptions>; export {};