import { Except } from 'type-fest'; import { Operations } from '../helpers/operations'; import { AggregationResult } from '../models/AggregationResult'; import { NumberBucket } from '../models/CountResult'; import { Iteratee } from './accesor'; export interface AggregationOptions { keyGetter: Iteratee; valueGetter: Iteratee; eventsGetter?: Iteratee; operation: Operations; } /** * Performs an aggregation operation using string-based buckets * * @export * @template T * @param {T[]} array * @param {string[][]} buckets * @param {AggregationOptions} aggregationOptions * @return {AggregationResult} */ export declare function aggregateByStringBuckets(array: T[], buckets: string[][], aggregationOptions: AggregationOptions): AggregationResult; /** * Performs an aggregation operation using number-based buckets * * @export * @template T * @param {T[]} array * @param {NumberBucket[]} buckets * @param {Except, 'keyGetter'>} aggregationOptions * @return {*} {AggregationResult} */ export declare function aggregateByNumberBuckets(array: T[], buckets: NumberBucket[], aggregationOptions: Except, 'keyGetter'>): AggregationResult;