import Cypher from "@neo4j/cypher-builder"; import type { InterfaceEntityAdapter } from "../../../../../schema-model/entity/model-adapters/InterfaceEntityAdapter"; import type { UnionEntityAdapter } from "../../../../../schema-model/entity/model-adapters/UnionEntityAdapter"; import { QueryASTContext } from "../../QueryASTContext"; import type { QueryASTNode } from "../../QueryASTNode"; import type { AggregationField } from "../../fields/aggregation-fields/AggregationField"; import type { Filter } from "../../filters/Filter"; import type { AuthorizationFilters } from "../../filters/authorization-filters/AuthorizationFilters"; import type { OperationTranspileResult } from "../operations"; import { Operation } from "../operations"; import type { CompositeAggregationPartial } from "./CompositeAggregationPartial"; export declare class CompositeAggregationOperation extends Operation { private children; protected directed: boolean; fields: AggregationField[]; nodeFields: AggregationField[]; edgeFields: AggregationField[]; private entity; protected authFilters: AuthorizationFilters[]; protected filters: Filter[]; private addWith; private aggregationProjectionMap; private nodeMap; private edgeMap; constructor({ compositeEntity, children, directed, }: { compositeEntity: InterfaceEntityAdapter | UnionEntityAdapter; children: CompositeAggregationPartial[]; directed?: boolean; }); getChildren(): QueryASTNode[]; transpile(context: QueryASTContext): OperationTranspileResult; setFields(fields: AggregationField[]): void; addFilters(...filters: Filter[]): void; addAuthFilters(...filter: AuthorizationFilters[]): void; setNodeFields(fields: AggregationField[]): void; setEdgeFields(fields: AggregationField[]): void; protected getFieldProjectionClause(target: Cypher.Variable, returnVariable: Cypher.Variable, field: AggregationField): Cypher.Clause; private transpileAggregationOperation; private getPredicates; private getAuthFilterPredicate; private createSubqueries; private createWithClause; private createNestedSubquery; } //# sourceMappingURL=CompositeAggregationOperation.d.ts.map