import { Module, ResolvableContent } from '@nu-art/ts-common'; import { SyncDataFirebaseState } from '../../../shared/sync-manager/types.js'; import { OnConnectivityChange } from '../ModuleFE_ConnectivityModule.js'; import { ModuleFE_BaseApi } from '../db-api-gen/ModuleFE_BaseApi.js'; import { SyncManagerAPI_SmartSync } from '../../../shared/sync-manager/apis.js'; export interface PermissibleModulesUpdated { __onPermissibleModulesUpdated: () => void; } export declare const Default_SyncManagerNodePath = "/state/ModuleBE_SyncManager/syncData"; export declare class ModuleFE_SyncManager_Class extends Module implements OnConnectivityChange { __onConnectivityChange(): Promise; private syncedModules; private readonly currentlySyncingModules; private syncFirebaseListener?; private outOfSyncCollections; private syncing?; private pendingSync?; private cancelledSyncs; private cleanIDBOnFullSync; private syncManagerNodePath; private smartSyncApiUrl; private currentSyncData; private _smartSyncCompleted?; private _onSyncDataChanged?; private _debounceTimeout; private _debounceMaxTimeout; private syncDebouncer?; private syncQueue; constructor(); setShouldCleanIDBOnFullSync: (cleanIDBOnFullSync: boolean) => void; getPermissibleModuleNames: () => string[]; getCurrentlySyncingModules: () => ModuleFE_BaseApi>[]; cancelSync: () => void; private getModulesToSync; private getLocalSyncData; private smartSync; private clearSyncingStatus; private debounceSyncImpl; /** * Perform no sync, delta sync and full sync on modules. Intention is to get all modules to DataStatus "ContainsData". */ onSmartSyncCompleted: (response: SyncManagerAPI_SmartSync["response"]) => Promise; private performSync; private performNoSync; private performDeltaSync; private performFullSync; private generateSyncRequestId; private removeFromCancelledSyncs; startListening(): void; stopListening(): void; private onSyncDataChanged; setNodeContext: (nodeContextResolver: ResolvableContent) => ResolvableContent; setSmartSyncUrl: (baseUrlResolver: ResolvableContent) => ResolvableContent; setOnSyncCompleted: (smartSyncCompleted: (syncData: SyncDataFirebaseState) => void) => (syncData: SyncDataFirebaseState) => void; setOnSyncDataChanged: (onSyncDataChanged: (syncData?: SyncDataFirebaseState) => void) => (syncData?: SyncDataFirebaseState) => void; setDebounceTimeout: (debounceTimeout: number) => number; setDebounceMaxTimeout: (debounceTimeout: number) => number; } export declare const ModuleFE_SyncManager: ModuleFE_SyncManager_Class;