import { BucketAutoStageInterface, BucketStageInterface, CollStatsStageInterface, GeoNearStageInterface, GraphLookupStageInterface, GroupStageInterface, InitOptionsInterface, LookupStageInterface, MergeStageInterface, OutStageInterface, ReplaceRootStageInterface, SampleStageInterface, StageInterface, StageLabel, UnionWithStageInterface, UnwindStageInterface } from "./interfaces"; export declare class AggregationBuilder { private static counter; private readonly defaultOptions; private readonly pipelineName; private readonly debugBuild; private readonly logs; private stageList; private stageErrorList; private readonly stageValidatorsBundle; private pagingStage; constructor(pipelineName: string, options?: InitOptionsInterface); readonly addStage: (stageTypeLabel: StageLabel, stageValue: any) => this; readonly getName: () => string; readonly getPipeline: (options?: { allowEmpty: boolean; } | undefined) => StageInterface[] | { $facet: { docs: StageInterface[]; count: StageInterface[]; }; }[]; readonly resetPipeline: () => StageInterface[]; readonly enableDebug: () => this; readonly disableDebug: () => this; readonly getDebugActionList: () => import("./interfaces").DebugHistoryInterface[]; Paging(elementsPerPage: number, page?: number): this; AddFields(...value: { [key: string]: any; }[]): this; Bucket(value: BucketStageInterface): this; BucketAuto(value: BucketAutoStageInterface): this; CollStats(value: CollStatsStageInterface): this; Count(value: string): this; Facet(...value: { [key: string]: StageInterface[]; }[]): this; GeoNear(value: GeoNearStageInterface): this; GraphLookup(value: GraphLookupStageInterface): this; Group(value: GroupStageInterface): this; IndexStats(value: any): this; Limit(value: number): this; ListSessions(value: any): this; Lookup(value: LookupStageInterface): this; Match(value: any): this; Merge(value: MergeStageInterface): this; Out(value: OutStageInterface): this; PlanCacheStats(value: any): this; Project(value: { [key: string]: any; }): this; Redact(value: any): this; ReplaceRoot(value: ReplaceRootStageInterface): this; ReplaceWith(value: any): this; Sample(value: SampleStageInterface): this; Search(value: any): this; Set(...value: { [key: string]: any; }[]): this; Skip(value: number): this; Sort(...value: { [key: string]: any; }[]): this; SortByCount(value: any): this; UnionWith(value: UnionWithStageInterface): this; Unset(...value: string[]): this; Unwind(value: string | UnwindStageInterface): this; private readonly verifyPipelineValidity; private readonly isValidStage; private readonly validatePayload; private readonly paginatePipelineResults; private readonly toggleDebug; private readonly saveActionToDebugHistoryList; private readonly ToObject; private readonly getCurrentDate; private readonly log; }