import type { HexagonOptions } from './hexagon.js'; import type { TransformLineage, TransformValue } from './transform.js'; import type { TransformOutputRow, TransformOutputs } from './transform-reduce.js'; import type { ChartMark } from './types.js'; type DefaultHexbinOutputs = { readonly count: { readonly reduce: 'count'; }; }; export type HexbinDatum = DefaultHexbinOutputs> = TransformLineage & Omit, 'x' | 'y' | 'source' | 'sourceIndexes'> & { readonly x: number; readonly y: number; }; export type HexbinOptions = DefaultHexbinOutputs> = { x: TransformValue; y: TransformValue; /** Horizontal distance in pixels between adjacent bin centers. */ binWidth?: number; outputs?: TOutputs; } & Omit>, 'x' | 'y' | 'key'>; /** Aggregates numeric x/y observations in a final-screen hexagonal lattice. */ export declare function hexbin = DefaultHexbinOutputs, const TXScaleId extends string = 'x', const TYScaleId extends string = 'y'>(source: Iterable, options: HexbinOptions & { xScale?: TXScaleId; yScale?: TYScaleId; }): ChartMark, number, number, number, number, TXScaleId, TYScaleId>; export {};