// TypeScript Version: 4.0 import { Params, Paginated, Id, NullableId, Hook } from '@feathersjs/feathers'; import { AdapterService, ServiceOptions, InternalServiceMethods } from '@feathersjs/adapter-commons'; import { Model, Document, Query } from 'mongoose'; export namespace hooks { function toObject(options?: any, dataField?: string): Hook; } export namespace transactionManager { const beginTransaction: Hook; const commitTransaction: Hook; const rollbackTransaction: Hook; } export interface MongooseServiceOptions extends ServiceOptions { Model: Model; lean: boolean; overwrite: boolean; useEstimatedDocumentCount: boolean; queryModifier?: (query: Query, params: Params) => void; queryModifierKey?: string; } export class Service extends AdapterService implements InternalServiceMethods { Model: Model; options: MongooseServiceOptions; constructor(config?: Partial); _find(params?: Params): Promise>; _get(id: Id, params?: Params): Promise; _create(data: Partial | Array>, params?: Params): Promise; _update(id: NullableId, data: T, params?: Params): Promise; _patch(id: NullableId, data: Partial, params?: Params): Promise; _remove(id: NullableId, params?: Params): Promise; } declare const mongoose: ((config?: Partial) => Service); export default mongoose;