import type { TransformGroupRow, TransformGroupSpec, TransformLineage, TransformValue } from './transform.js'; import type { TransformOutputRow, TransformOutputs } from './transform-reduce.js'; export interface BinXYOptions { x: TransformValue; y: TransformValue; by?: TransformGroupSpec; xThresholds?: number | readonly number[]; yThresholds?: number | readonly number[]; xDomain?: readonly [number, number]; yDomain?: readonly [number, number]; outputs?: TransformOutputs; } export type BinXYDatum = TransformGroupRow & TransformLineage & TransformOutputRow & { readonly x: number; readonly x1: number; readonly x2: number; readonly y: number; readonly y1: number; readonly y2: number; }; type DefaultOutputs = { readonly value: { readonly reduce: 'count'; }; }; export declare function binXY | undefined = undefined, const TOutputs extends TransformOutputs = DefaultOutputs>(source: Iterable, options: BinXYOptions & { by?: TBy; outputs?: TOutputs; }): BinXYDatum[]; export {};