/**
 * Aggregators Core Registry
 *
 * Provides a central registry for aggregator functions.
 * Built-in aggregators are provided by default.
 * Plugins can register additional aggregators.
 *
 * The registry is exposed as a singleton object that can be accessed:
 * - By ES module imports: import { aggregatorRegistry } from '@toolbox-web/grid'
 * - By UMD/CDN: TbwGrid.aggregatorRegistry
 * - By plugins via context: ctx.aggregatorRegistry
 */
export type AggregatorFn = (rows: any[], field: string, column?: any) => any;
export type AggregatorRef = string | AggregatorFn;
/**
 * The aggregator registry singleton.
 * Plugins should access this through context or the global namespace.
 */
export declare const aggregatorRegistry: {
    /**
     * Register a custom aggregator function.
     */
    register(name: string, fn: AggregatorFn): void;
    /**
     * Unregister a custom aggregator function.
     */
    unregister(name: string): void;
    /**
     * Get an aggregator function by reference.
     */
    get(ref: AggregatorRef | undefined): AggregatorFn | undefined;
    /**
     * Run an aggregator on a set of rows.
     */
    run(ref: AggregatorRef | undefined, rows: any[], field: string, column?: any): any;
    /**
     * Check if an aggregator exists.
     */
    has(name: string): boolean;
    /**
     * List all available aggregator names.
     */
    list(): string[];
};
export type ValueAggregatorFn = (values: number[]) => number;
/**
 * Get a value-based aggregator function.
 * Used by Pivot plugin and other features that aggregate pre-extracted values.
 *
 * @param aggFunc - Aggregation function name ('sum', 'avg', 'count', 'min', 'max', 'first', 'last')
 * @returns Aggregator function that takes number[] and returns number
 */
export declare function getValueAggregator(aggFunc: string): ValueAggregatorFn;
/**
 * Run a value-based aggregator on a set of values.
 *
 * @param aggFunc - Aggregation function name
 * @param values - Array of numbers to aggregate
 * @returns Aggregated result
 */
export declare function runValueAggregator(aggFunc: string, values: number[]): number;
export declare const registerAggregator: (name: string, fn: AggregatorFn) => void;
export declare const unregisterAggregator: (name: string) => void;
export declare const getAggregator: (ref: AggregatorRef | undefined) => AggregatorFn | undefined;
export declare const runAggregator: (ref: AggregatorRef | undefined, rows: any[], field: string, column?: any) => any;
export declare const listAggregators: () => string[];
//# sourceMappingURL=aggregators.d.ts.map