/// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// import { ClientSession, CreateOptions, InsertManyOptions, Model, PaginateModel, PaginateResult, ProjectionType, QueryOptions } from 'mongoose'; export declare class MongooseOptions { session?: ClientSession | null; [x: string]: any; } export declare class FindOptions extends MongooseOptions { [x: string]: any; page?: number; limit?: number; lean?: boolean; } export type TypedModel = PaginateModel | Model; export declare class MongoDBRepository { private readonly Model; constructor(Model: TypedModel); getModel(): TypedModel; create(payload: Record, options?: CreateOptions): Promise; findById(id: string, projection?: ProjectionType, options?: QueryOptions): import("mongoose").Query; findOne(condition?: Record, sort?: Record, options?: FindOptions): import("mongoose").Query; find(condition: Record, sort?: Record, options?: FindOptions): import("mongoose").Query; paginate(condition: Record, sort?: Record, options?: FindOptions): Promise>; deleteMany(condition?: Record, options?: MongooseOptions): import("mongoose").Query; insertMany(data: any[] | undefined, options: InsertManyOptions & { lean: true; }): never[] | Promise; countDocuments(condition?: Record, options?: MongooseOptions): import("mongoose").Query; updateOne(query?: Record, update?: Record, options?: MongooseOptions): import("mongoose").Query; updateMany(query?: Record, update?: Record, options?: MongooseOptions): import("mongoose").Query; upsert(query?: Record, update?: any, options?: MongooseOptions): import("mongoose").Query; findOneAndUpdate(filter: any, update: any, options?: MongooseOptions): import("mongoose").Query; bulkWrite(bulkWritePayload: any): any; deleteOne(query: Record): import("mongoose").Query; }