import Debug from 'debug'; import { ChangeStreamDocument, ObjectId } from 'mongodb'; import { EventCallback } from '../event/event'; import { Filter } from './filter'; import { EntityInterface } from './interfaces'; import { PaginatedData } from './paginated'; import { EntityRepository } from './repository'; export declare abstract class EntityService = EntityRepository> { protected repository: Repository; protected log: Debug.Debugger; constructor(); addHistory(item: Obj, action: string, date?: Date): this; getRepository(): Repository; create(data: any, save?: boolean, ...rest: any[]): Promise; get(_id: ObjectId, ...rest: any[]): Promise; list(filter: Filter, ResponseType: any, ...rest: any[]): Promise>; update(itemId: ObjectId, data: any, save?: boolean, ...rest: any[]): Promise; delete(_id: ObjectId, ...rest: any[]): Promise; subscribe(onData: EventCallback): import("mongodb").ChangeStream>; protected readonly onData: (change: ChangeStreamDocument, onData: EventCallback) => Promise; } //# sourceMappingURL=service.d.ts.map