import { Mapping } from 'strict-type-mapper'; import { ObjectLiteral, Repository } from 'typeorm'; 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 PostgreSQLDbRepository implements IDomainRepository { private readonly typeOrmRepository; private readonly objectEntityMapper; private readonly sqlEntityFormatter; private readonly inPlaceUpdateHelper; constructor(typeOrmRepository: Repository, mapping: Mapping); private getSelectQuery; 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=sql.repository.d.ts.map