import { Repository as BaseRepo } from 'mongodb-typescript'; import { FindCursor, MongoClient, ObjectId, ReplaceOptions, Filter } from 'mongodb'; import { ClassType, RepositoryOptions } from 'mongodb-typescript/lib/repository'; import CryptManager from '../../Crypt/CryptManager'; export default class Repository extends BaseRepo { private _crypt; private readonly _filters; constructor(Type: ClassType, mongo: MongoClient, collection: string, _crypt: CryptManager, options?: RepositoryOptions); get name(): string; insert(entity: T): Promise; update(entity: T, options?: ReplaceOptions): Promise; upsert(entity: T): Promise; findMany(query: Filter): Promise; find: (query: Filter) => FindCursor; findOne(query?: Filter): Promise; findById(id: ObjectId): Promise; findManyById(ids: ObjectId[]): Promise; remove(entity: T): Promise; enableFilter(name: string): void | Error; disableFilter(name: string): void | Error; private _encrypt; private _decrypt; private _decorateQuery; }