import { EntityManager, type CountByOptions, type Dictionary, type EntityKey, type EntityName, type EntityRepository, type GetRepository, type Loaded, type StreamOptions, type TransactionOptions, type WithUsingOptions } from '@mikro-orm/core'; import type { Collection, Document, TransactionOptions as MongoTransactionOptions } from 'mongodb'; import type { MongoDriver } from './MongoDriver.js'; import type { MongoEntityRepository } from './MongoEntityRepository.js'; /** * @inheritDoc */ export declare class MongoEntityManager extends EntityManager { /** * Shortcut to driver's aggregate method. Available in MongoDriver only. */ aggregate(entityName: EntityName, pipeline: any[]): Promise; /** * Shortcut to driver's aggregate method. Returns a stream. Available in MongoDriver only. */ streamAggregate(entityName: EntityName, pipeline: any[]): AsyncIterableIterator; /** * @inheritDoc */ stream(entityName: EntityName, options?: WithUsingOptions, Hint, Fields, Excludes>, NoInfer, Using>): AsyncIterableIterator>; getCollection(entityOrCollectionName: EntityName | string): Collection; /** * @inheritDoc */ countBy(entityName: EntityName, groupBy: EntityKey | readonly EntityKey[], options?: CountByOptions): Promise>; /** * @inheritDoc */ getRepository = MongoEntityRepository>(entityName: EntityName): GetRepository; /** * @inheritDoc */ begin(options?: Omit & MongoTransactionOptions): Promise; /** * @inheritDoc */ transactional(cb: (em: this) => Promise, options?: TransactionOptions & MongoTransactionOptions): Promise; }