import { FilterQuery, FindOneOptions, ObjectId } from 'mongodb'; import { DataDocument, DataModelAbstractMethods } from './method.type'; import { BaseDocument } from './base.type'; import { ModelFindByIdAndUpdateOptions, ModelFindOneAndUpdateOptions, ModelUpdateOptions, QueryCursor, DocumentQuery } from 'mongoose'; import { MongoUpdate } from './mongodb.type'; export declare abstract class MongodbOperationImplements extends DataModelAbstractMethods { protected find(query: FilterQuery, projection?: T[] | Record, options?: FindOneOptions): Promise>[]>; protected find(query: FilterQuery, projection?: Record, options?: FindOneOptions): Promise[]>; protected find(query: FilterQuery): Promise[]>; getOne(query: FilterQuery, projection?: T[] | Record, options?: FindOneOptions): Promise>>; getOne(query: FilterQuery, projection?: Record, options?: FindOneOptions): Promise>; getOne(query: FilterQuery): Promise>; findOne(query: FilterQuery, projection?: T[] | Record, options?: FindOneOptions): Promise> | null>; findOne(query: FilterQuery, projection?: Record, options?: FindOneOptions): Promise | null>; findOne(query: FilterQuery): Promise | null>; findById(query: ObjectId | string, projection?: T[] | Record, options?: FindOneOptions): Promise> | null>; findById(query: ObjectId | string, projection?: Record, options?: FindOneOptions): Promise | null>; findById(query: ObjectId | string): Promise | null>; getById(query: ObjectId | string, projection?: T[] | Record, options?: FindOneOptions): Promise>>; getById(query: ObjectId | string, projection?: Record, options?: FindOneOptions): Promise>; getById(query: ObjectId | string): Promise>; protected _queryRaw(query: FilterQuery, projection?: T[] | Record, options?: FindOneOptions): DocumentQuery<(Pick)[], DataDocument>>; protected _queryRaw(query: FilterQuery, projection?: Record, options?: FindOneOptions): DocumentQuery<(IDocType)[], DataDocument>; protected _queryRaw(query: FilterQuery): DocumentQuery<(IDocType)[], DataDocument>; findCursor(query: FilterQuery, projection?: T[] | Record, options?: FindOneOptions): QueryCursor>>; findCursor(query: FilterQuery, projection?: Record, options?: FindOneOptions): QueryCursor>; findCursor(query: FilterQuery): QueryCursor>; protected findByIdAndUpdate(query: ObjectId | string, update: MongoUpdate, options?: ModelFindByIdAndUpdateOptions): Promise | null>; protected findOneAndUpdate(query: FilterQuery, update: MongoUpdate, options?: ModelFindOneAndUpdateOptions): Promise | null>; protected getByIdAndUpdate(query: ObjectId | string, update: MongoUpdate, options?: ModelFindByIdAndUpdateOptions): Promise>; protected getOneAndUpdate(query: FilterQuery, update: MongoUpdate, options?: ModelFindOneAndUpdateOptions): Promise>; protected update(query: FilterQuery, update: MongoUpdate, options?: ModelUpdateOptions): Promise | null>; }