import { AggregateField } from 'firebase-admin/firestore'; import type { ProjectContext } from '../../../project'; import { Task } from '../../../task'; import type { OperationSchema } from '../../build-tool'; import type { FirestorePropKey } from '../properties'; import { QueryFilter } from '../utils/types'; export declare class FirestoreAggregateError extends Error { readonly cause?: unknown | undefined; readonly _tag: "FirestoreAggregateError"; constructor(message: string, cause?: unknown | undefined); } export declare const AGGREGATE_COLLECTION: "aggregate_collection"; export declare const aggregateCollectionOp: OperationSchema; export interface AggregationSpec { alias: string; type: 'sum' | 'avg' | 'count'; field?: string; } export interface AggregateCollectionArgs { collection: string; aggregations: AggregationSpec[]; filters?: QueryFilter[]; } export declare const aggregateCollection: (ctx: ProjectContext, input: AggregateCollectionArgs) => Task<{ collection: string; result: FirebaseFirestore.AggregateSpecData<{ [k: string]: AggregateField; }>; }, import("../../../project").AccessDeniedError | FirestoreAggregateError>; //# sourceMappingURL=aggregate_collection.d.ts.map