import type { AggregateNode, ColumnRefNode, ExprNode } from '@uwdata/mosaic-sql';
/**
 * Determine sufficient statistics to preaggregate the given node. This
 * method populates the *preagg* and *aggrs* arguments with necessary
 * information for preaggregation optimization.
 * @param node An aggregate function.
 * @param preagg Map of column names to
 *  expressions to include in the preaggregation table.
 * @param avg Global average query generator.
 * @returns Output aggregate expression that uses preaggregated
 *  sufficient statistics to service updates.
 */
export declare function sufficientStatistics(node: AggregateNode, preagg: Record<string, ExprNode>, avg: (field: ColumnRefNode) => ExprNode): ExprNode | null;
//# sourceMappingURL=sufficient-statistics.d.ts.map