import { DeltaSyncPayload } from "./types.js"; import { IClientStorageAdapter } from "./storage/IClientStorageAdapter.js"; import { EntityDescriptor, IAutoUpdatedClientObjectBase } from "../CommonTypes.js"; export interface ReconcilableClientManager { className: string; classParam: any; socket: any; loggers: any; callbacks: any; emitter: any; objects_: { [id: string]: T; }; objectsAsArray: T[]; totalObjects: number; loadedObjects: number; isLoaded_: boolean; manifest?: EntityDescriptor[]; isLazyLoadingEnabled?: boolean; getObject(id: string): T | undefined; deleteObject(id: any, isRemote?: boolean): Promise; registerDynamicProperty?(prop: string): void; properties?: string[]; } export declare class ClientStateReconciler { /** * Restores client manager objects in-memory from a persistent storage adapter. * * @param manager - Reconcilable client manager instance. * @param storageAdapter - Storage adapter implementing IClientStorageAdapter. * @returns Object indicating restoration success, stored revision, and restored entity count. */ static restoreFromStorage(manager: ReconcilableClientManager, storageAdapter: IClientStorageAdapter): Promise<{ restored: boolean; revision: number; count: number; }>; /** * Persists current manager in-memory state to storage adapter. * * @param manager - Reconcilable client manager instance. * @param revision - Monotonic revision number to record with the snapshot. * @param storageAdapter - Storage adapter to receive the persisted state. */ static persistToStorage(manager: ReconcilableClientManager, revision: number, storageAdapter: IClientStorageAdapter): Promise; /** * Applies a delta changes payload to the in-memory client manager. * Handles creates, updates, and deletes with callback dispatch and local state persistence. * * @param manager - Reconcilable client manager instance. * @param payload - Delta sync payload containing status, revision, and changes array. * @param storageAdapter - Optional storage adapter to persist reconciled state. */ static applyDelta(manager: ReconcilableClientManager, payload: DeltaSyncPayload, storageAdapter?: IClientStorageAdapter): Promise; /** * Patches changed fields onto an existing client object instance and triggers update callback. * * @param targetObj - Target client object to patch. * @param patchData - Key-value map of properties to apply. * @param callbacks - Optional manager callbacks interface. */ private static patchObjectProperties; }