import type { LogContext } from '@rocicorp/logger'; import type { Enum } from '../../../shared/src/enum.ts'; import type { LazyStore } from '../dag/lazy-store.ts'; import type { Store } from '../dag/store.ts'; import * as FormatVersion from '../format-version-enum.ts'; import type { ClientID } from '../sync/ids.ts'; import type { MutatorDefs } from '../types.ts'; import type { ZeroOption } from '../replicache-options.ts'; type FormatVersion = Enum; /** * Persists the client's memdag state to the client's perdag client group. * * Persists the base snapshot from memdag to the client's perdag client group, * but only if it’s newer than the client's perdag client group’s base snapshot. * The base snapshot is persisted by gathering all memory-only chunks in the dag * subgraph rooted at the base snapshot's commit and writing them to the perdag. * Once the base snapshot is persisted, rebases onto this new base snapshot all * local commits from the client's perdag client group that are not already * reflected in the base snapshot. * * Whether or not the base snapshot is persisted, rebases onto the client's * perdag client group all memdag local commits not already in the client's * perdag client group's history. * * Also updates the `lastMutationIDs` and `lastServerAckdMutationIDs` properties * of the client's client group's entry in the `ClientGroupMap`. */ export declare function persistDD31(lc: LogContext, clientID: ClientID, memdag: LazyStore, perdag: Store, mutators: MutatorDefs, closed: () => boolean, formatVersion: FormatVersion, getZeroData: ZeroOption['getTxData'] | undefined, onGatherMemOnlyChunksForTest?: () => Promise): Promise; export {}; //# sourceMappingURL=persist.d.ts.map