import { APIFunction, APIFunctionTypes, NamedObject } from ".."; export interface UpdateOptions { verifyAccountStatusAtSystemHeader?: boolean; session?: any; noProcessors?: boolean; } export interface LadFindOptions { session?: any; toFetchRelatedDocuments?: string[]; sort?: any; limit?: any; projection?: any; includeDeleted?: boolean; pageNumber?: number; nPerPage?: number; } export interface UpdatableDocumentSystemHeader { type: string | NamedObject; } export interface UpdatableDocument { documentId: string; systemHeader: UpdatableDocumentSystemHeader; } export interface LadDocumentService { addProcessorFn(systemType: string, fn: APIFunction, fnType: APIFunctionTypes): any; deleteDocument(systemType: string, documentId: string, deleterId: string): Promise; upsert(d: UpdatableDocument | UpdatableDocument[], updaterId: string, updateOptions?: UpdateOptions): Promise; find(systemType: any, filter: any, options?: LadFindOptions): Promise; findOne(systemType: any, filter: any, options?: LadFindOptions): Promise; getAllValuesInFieldAsSet(systemType: string, fieldName: string, $match?: any): Promise; count(systemType: any, filter: any): Promise; } export interface LadRedisService { get(key: string): Promise; set(key: any, json: any): any; del(key: any): Promise; getRedisClient: any; }