import { Document, Model, Types } from 'mongoose'; import { RepositoryBase } from '../database'; import { EntityMetadata, IBaseEntity } from '../models'; export declare class BaseService { repository: RepositoryBase; constructor(model: Model); create(item: T): Promise>; createWithCallback(item: T, callback: (error: any, result: T) => void): void; getAll(): Promise>; getAllWithCallback(callback: (error: any, result: T[]) => void): void; update(id: Types.ObjectId, item: T): Promise>; updateWithCallback(id: Types.ObjectId, item: T, callback: (error: any, result: any) => void): void; delete(id: string): Promise>; deleteWithCallback(id: string, callback: (error: any, result: any) => void): void; findById(id: string): Promise>; findByIdWithCallback(id: string, callback: (error: any, result: T) => void): void; findOne(cond?: object): Promise>; findOneWithCallback(cond?: object, callback?: (error: any, res: T) => void): void; find(cond?: object, options?: object): Promise>; findWithCallback(cond?: object, options?: object, callback?: (error: any, res: T[]) => void): void; protected convertToEntityMetadata(err?: any, result?: TResult | undefined | null): EntityMetadata; protected getErrorEntityMetadata(err: string, errorType: TError): EntityMetadata; protected getSuccessEntityMetadata(data: TResult): EntityMetadata; }