export interface IDataProvider { save: (modelClass: Function, models: any[]) => Promise; delete: (modelClass: Function, models: any[]) => Promise; findBy: (modelClass: Function, filter: any) => Promise; findByMethod: (modelClass: Function, method: any, params: any) => Promise; saveByMethod: (modelClass: Function, models: any[], method: any, params: any) => Promise; initialize: () => Promise; } export interface ISyncDataProvider { saveSync: (modelClass: Function, models: any[]) => any; deleteSync: (modelClass: Function, models: any[]) => any; getBy: (modelClass: Function, filter: any) => any; cacheSync: (modelClass: Function, models: any[]) => any; initialize: () => Promise; } export declare class DataHandler { static _dataProvider: IDataProvider; static _syncDataProvider: ISyncDataProvider; static setDataProvider(dataProvider: IDataProvider): void; static getDataProvider(): IDataProvider; static setSyncDataProvider(syncDataProvider: ISyncDataProvider): void; static getSyncDataProvider(): ISyncDataProvider; static initialize(): Promise; static save(modelClass: any, models: any[]): Promise; static delete(modelClass: any, models: any[]): Promise; static findBy(modelClass: any, filter: any): Promise<{}>; static getBy(modelClass: any, filter: any): any; static findByMethod(modelClass: any, method: any, params?: any): Promise<{}>; static saveByMethod(modelClass: any, models: any[], method: any, params?: any): Promise; }