import { AggregateQuery, AggregateQueryField, AggregateResponse } from '@ptc-org/nestjs-query-core'; import { DocumentType } from '@typegoose/typegoose'; type Aggregate = Record>; type Group = { _id: Record | null; }; export type TypegooseGroupAndAggregate = Aggregate & Group; /** * @internal * Builds a WHERE clause from a Filter. */ export declare class AggregateBuilder { static convertToAggregateResponse(aggregates: Record[]): AggregateResponse[]; private static extractResponse; /** * Builds a aggregate SELECT clause from a aggregate. * @param aggregate - the aggregates to select. */ build(aggregate: AggregateQuery>): TypegooseGroupAndAggregate; private createAggSelect; private createGroupBySelect; getGroupBySelects(aggregatedFields?: AggregateQueryField>[]): string[] | undefined; private getGroupByAlias; } export {};