/// import { Model } from './Model'; import { IDataProvider, ISyncDataProvider } from './DataHandler'; export declare type FindByMethod = (params: any, results: LokiResultset, filterFn: (results: LokiResultset, filter: any) => LokiResultset) => any[] | Promise; export declare type SaveByMethod = (params: any, models: any[], saveFn: (modifiedModels: any[]) => any) => any | Promise; export declare class LokiDataProvider implements IDataProvider, ISyncDataProvider { private options; db: Loki; private findByMethodsMap; private saveByMethodsMap; private storage; constructor(options?: LokiConfigureOptions); saveDb(): Promise<{}>; getCollection(modelClass: any): LokiCollection<{}>; static applyFilter(results: LokiResultset, filter?: any): LokiResultset; applyFilter(results: LokiResultset, filter?: any): LokiResultset; private getModelClassName(modelClass); saveSync(modelClass: any, models: any[]): boolean; cacheSync(modelClass: any, models: any[]): void; save(modelClass: any, models: any[]): Promise; deleteSync(modelClass: any, models: any[]): boolean; delete(modelClass: any, models: any[]): Promise; getBy(modelClass: any, filter: any): {}[]; findBy(modelClass: any, filter: any): Promise<{}[]>; registerFindByMethod(modelClass: typeof Model, method: string, fn: FindByMethod): void; registerSaveByMethod(modelClass: typeof Model, method: string, fn: SaveByMethod): void; saveByMethod(modelClass: any, models: any[], method: any, params?: any): Promise<{}>; findByMethod(modelClass: any, method: any, params: any): Promise<{}>; static _fixtures: any; static setFixtures(fixtures: any): void; static getFixtures(): any; loadDb(): Promise<{}>; initialize(): Promise<{}>; }