/// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// import mongoose from 'mongoose'; import { Mapping } from 'strict-type-mapper'; import { IDomainRepository } from '../../interfaces/repository.interface'; import { SearchCriteria } from '../../interfaces/search/search.criteria.interface'; import { SearchOptions } from '../../interfaces/search/search.options.interface'; import { UpdateCriteria } from '../../interfaces/update/update.criteria.interface'; /** * A generic implementation of entity repository. * @typeparam `T` invariant object type. * @typeparam `A` invariant attached domain object type. * @typeparam `E` invariant DB entity type. */ export declare class MongoDbRepository implements IDomainRepository { private readonly mongooseCollection; private readonly objectEntityMapper; private readonly mongoEntityFormatter; constructor(mongooseCollection: mongoose.Model, mapping: Mapping); private getCriteria; private getUpdate; findOne(criteria: SearchCriteria): Promise; findOneOrFail(criteria: SearchCriteria): Promise; findAll(criteria?: SearchCriteria, options?: SearchOptions): Promise>; countAll(criteria: SearchCriteria): Promise; create(object: T): Promise; createMany(arrayOfObjects: T[]): Promise; findOneAndUpdate(criteria: SearchCriteria, update: UpdateCriteria): Promise; findAllAndUpdate(criteria: SearchCriteria, update: UpdateCriteria): Promise<{ numberOfUpdatedObjects: number; }>; findOneAndDelete(criteria: SearchCriteria): Promise; findAllAndDelete(criteria: SearchCriteria): Promise<{ numberOfDeletedObjects: number; }>; } //# sourceMappingURL=mongo.repository.d.ts.map