import { type ReducerName } from '../helpers/reduce.js'; import type { DataRecord, DataRow, RawValue, TransformArg } from '../types.js'; type ReducerFunc = (group: DataRow[]) => RawValue; type ReducerOption = ReducerName | ReducerFunc; type GroupBaseOptions = { domain?: [number, number]; thresholds?: NamedThresholdsGenerator | number | number[] | ThresholdCountGenerator; interval?: number | string; cumulative?: false | 1 | -1; reverse?: boolean; /** * copy properties from the first element of each group */ copy?: string[]; }; type AdditionalOutputChannels = Partial<{ fill: ReducerOption; stroke: ReducerOption; r: ReducerOption; opacity: ReducerOption; fillOpacity: ReducerOption; strokeOpacity: ReducerOption; }>; type GroupXOptions = GroupBaseOptions & AdditionalOutputChannels & Partial<{ y: ReducerOption; y1: ReducerOption; y2: ReducerOption; xPropName: string; }>; type GroupYOptions = GroupBaseOptions & AdditionalOutputChannels & Partial<{ x: ReducerOption; x1: ReducerOption; x2: ReducerOption; yPropName: string; }>; type GroupZOptions = GroupXOptions | GroupYOptions; /** * groups the dataset by x and y channel and optionally reduces the group items * to output channels fill, stroke, r, opacity, fillOpacity, or strokeOpacity */ export declare function group({ data, ...channels }: TransformArg, options?: GroupXOptions): { data: DataRecord[]; }; /** * groups the dataset by the x channel and optionally reduces the group items * to output channels y, y1, y2, fill, stroke, r, opacity, fillOpacity, or strokeOpacity */ export declare function groupX(input: TransformArg, options?: GroupXOptions): { data: DataRecord[]; }; /** * groups the dataset by the y channel and optionally reduces the group items * to output channels x, x1, x2, fill, stroke, r, opacity, fillOpacity, or strokeOpacity */ export declare function groupY(input: TransformArg, options?: GroupYOptions): { data: DataRecord[]; }; /** * groups the dataset by the z channel and optionally reduces the group items * to output channels x, x1, x2, y, y1, y2, fill, stroke, r, opacity, fillOpacity, * or strokeOpacity */ export declare function groupZ(input: TransformArg, options?: GroupZOptions): { data: DataRecord[]; }; export {};