import { Vector, SerializeOptions } from '../vector/index.js'; export declare enum ValueAggregation { avg = "avg", sum = "sum", min = "min", max = "max", count = "count" } export interface FieldAgg { /** * If this returns true, then the flush method will * return an index which will indicate which row to select */ adjustsSelectedRow: boolean; push(value: unknown, index: number): void; flush(): { readonly value: unknown; /** * This index will indicate which row to select, * this will conflict with other aggregations that * return the same row */ readonly index?: number; }; } export type MakeValueAgg = (vector: Vector) => FieldAgg; export declare const valueAggMap: Record; export declare const valueAggregationDescriptions: { avg: string; count: string; max: string; min: string; sum: string; }; export declare function runVectorAggregation(vector: Vector, valueAgg: ValueAggregation): V; export declare enum KeyAggregation { hourly = "hourly", daily = "daily", monthly = "monthly", yearly = "yearly" } export type KeyAggFn = (index: number) => { key: string | undefined; value: unknown; }; export type MakeKeyAggFn = (col: Vector) => KeyAggFn; export declare const keyAggMap: Record; export declare const keyAggregationDescriptions: { hourly: string; daily: string; monthly: string; yearly: string; }; export declare function makeUniqueKeyAgg(vector: Vector, options?: SerializeOptions): KeyAggFn; //# sourceMappingURL=aggregations.d.ts.map