import { AggregationQueryBase } from "./AggregationQueryBase.js";
import { FacetBase } from "./FacetBase.js";
import { IAggregationDocumentQuery } from "./IAggregationDocumentQuery.js";
import { DocumentQuery } from "../../Session/DocumentQuery.js";
import { IFacetBuilder } from "./IFacetBuilder.js";
import { IndexQuery } from "../IndexQuery.js";
import { QueryResult } from "../QueryResult.js";
export declare class AggregationDocumentQuery<T extends object> extends AggregationQueryBase implements IAggregationDocumentQuery<T> {
    private _source;
    constructor(source: DocumentQuery<T>);
    andAggregateBy(facet: FacetBase): IAggregationDocumentQuery<T>;
    andAggregateBy(builder: (facetBuilder: IFacetBuilder<T>) => void): IAggregationDocumentQuery<T>;
    protected _getIndexQuery(updateAfterQueryExecuted?: boolean): IndexQuery;
    emit(eventName: "afterQueryExecuted", queryResult: QueryResult): void;
}
//# sourceMappingURL=AggregationDocumentQuery.d.ts.map