import { ClassConstructor, ClassTransformOptions } from 'class-transformer'; import { ValidatorOptions } from 'class-validator'; import { ChangeStreamOptions, CountDocumentsOptions, DeleteOptions, Document, Filter, FindOptions } from 'mongodb'; import type { EntityInterface } from './interfaces'; import type { EntityManager } from './manager'; export declare class EntityRepository { protected readonly em: EntityManager; protected readonly classType: ClassConstructor; constructor(em: EntityManager, classType: ClassConstructor); getClassType(): ClassConstructor; getEm(): EntityManager; save(entity: Model, ...args: any[]): Promise; watch(pipes?: Document[], options?: ChangeStreamOptions): import("mongodb").ChangeStream>; getCollection(): import("mongodb").Collection; find(query: Filter, options?: FindOptions): Promise>; count(query: Filter, options?: CountDocumentsOptions): Promise; findOne(query: Filter, options?: FindOptions): Promise; deleteOne(query: Filter, options?: DeleteOptions): Promise; deleteMany(query: Filter, ...args: any): Promise; getRelationship(object: Model, property: string, options?: FindOptions): Promise; getRelationships(object: Model, property: string, options?: FindOptions): Promise>; fromPlain(data: object | object[], options?: ClassTransformOptions): Model; merge(entity: Model, data: Model, excludePrefixes?: string[]): Model; validate(entity: Model, validatorOptions?: ValidatorOptions, throwError?: boolean): Promise; } //# sourceMappingURL=repository.d.ts.map