UNPKG

@zestlabs-io/react-native-zest-mobile

Version:

ZEST Labs Mobility Platform plugin for React Native

60 lines (59 loc) 2.3 kB
import ZDB from "./zdb"; import { AuthBridge, User } from "./authBridge"; declare const SyncChange = "_sync_change"; declare const SyncPaused = "_sync_paused"; declare const SyncActive = "_sync_active"; declare const SyncDenied = "_sync_denied"; declare const SyncComplete = "_sync_complete"; declare const SyncError = "_sync_error"; declare function SyncEvent(db: string, event: string | symbol): string; export interface SyncConfig { syncUrl: string; download: Array<string>; upload: Array<string>; twoway: Array<string>; local?: Array<string> | null; } declare class SyncManager { private _config; private _eventEmitter; private _authBridge; private _loggedIn; private _syncDBs; private _localDBs; private _dbg; constructor(config: SyncConfig, authBridge: AuthBridge, debug?: boolean); on(eventName: string | symbol, listener: (...args: any[]) => void): this; removeListener(eventName: string | symbol, listener: (...args: any[]) => void): void; getRemoteSyncURL: (db: string) => string; _emit: (dbName: string, event: string | symbol, payload: any, error?: boolean) => void; _syncDB: (dbName: string) => SyncDB; syncDB: (dbName: string) => ZDB<{}> | undefined; resetSyncDB: (dbName: string) => void; restartSync: (dbName: string) => void; getLocalDB: (dbName: string) => ZDB<{}> | undefined; onUserLogin: (user: User) => void; onUserLogout: () => void; startSync: () => void; stopSync: () => void; getSyncConfig: () => SyncConfig; } declare class SyncDB { private _remoteUrlFunction; private _parentEmitter; private _localDb; private _name; private _getAuthTokenFunc; private _syncType; private _handlerSync; private _dbg; constructor(remoteUrlFunction: (db: string) => string, parentEmitter: (dbName: string, event: string | symbol, payload: any, error?: any) => void, name: string, localDb: ZDB<{}>, getAuthTokenFunc: Function, syncType: string, debug?: boolean); getLocalDB: () => ZDB<{}>; resetLocalDatabase: () => void; startSync: () => void; restartSync: () => void; stopSync: () => void; } export { SyncManager, SyncDB }; export { SyncChange, SyncPaused, SyncActive, SyncDenied, SyncComplete, SyncError, }; export { SyncEvent };