import { CreateQuery, FilterQuery, Model, MongooseFilterQuery, UpdateQuery } from 'mongoose'; import { BaseModel } from './base.model'; export declare abstract class BaseService { protected readonly model: Model; protected constructor(model: Model); create(doc: CreateQuery): Promise; createBatch(docs: CreateQuery[]): Promise; deleteById(id: string): Promise; deleteByConditions(conditions: MongooseFilterQuery): Promise; update(id: string, updatedDoc: UpdateQuery): Promise; updateOrInsert(filter: any, updatedDoc: UpdateQuery): Promise; updateByConditions(conditions: FilterQuery, doc: UpdateQuery): Promise; findById(id: string): Promise; find(filter?: any): Promise; findWithSort(params: { filter: object; sort: { [key: string]: number; }; limit: number; }): Promise; findOne(filter?: any, sort?: { [key: string]: number; }): Promise; findPageList(param?: { filter: any; skip: number; limit: number; order?: { [key: string]: number; }; }): Promise; count(filter?: any): Promise; private static toObjectId; }