import { SchemaKeyProjection, SchemaKeySort, Filter } from "../types/filter"; export declare class Aggregate { subjects: X[]; constructor(subjects: X[]); private removeUnusedID; $match(filter: Filter): Aggregate; $group({ _id, reducer }: { _id: keyof X; reducer: (g: X[]) => O; }): Aggregate; $limit(limit: number): Aggregate; $skip(skip: number): Aggregate; $addFields(adder: (subject: X) => O): Aggregate; $sort(sortCriteria: SchemaKeySort): Aggregate; $project(project: SchemaKeyProjection): Aggregate; $unwind(fieldName: F): Aggregate]: X[Key]; } & { [Key_1 in F]: E; }>; toArray(): X[]; }