import { NormalizedSyncConfig } from '../../sync/types'; import { StateCreator } from '../../types'; export type SyncContext = { isAsync: boolean; clearFieldTimestamps: (snapshot: Record | undefined) => void; getFieldTimestampSnapshot: () => Record | undefined; getIsApplyingRemote: () => boolean; getSessionId: () => string | undefined; getTimestamp: () => number | undefined; mergeFieldTimestamps: (fields: Record) => void; onHydrationComplete: (() => void) | undefined; onHydrationFlushEnd: (() => void) | undefined; setIsApplyingRemote: (value: boolean) => void; setSessionId: (sessionId: string) => void; setTimestamp: (timestamp: number) => void; setWithoutPersist: (<_T extends (..._: unknown[]) => void | Promise, Args extends unknown[]>(..._: Args) => void | Promise) | undefined; }; export declare function createSyncedStateCreator>(stateCreator: StateCreator, config: NormalizedSyncConfig, isAsync: boolean): { stateCreator: StateCreator; syncContext: SyncContext; }; /** * Readable indices for `FieldMetadata` tuples. */ export declare const TIMESTAMP: 0, SESSION_ID: 1; //# sourceMappingURL=syncEnhancer.d.ts.map