import type { ChronicleCore } from './api.ts'; export type BatchDeps = Pick; export interface TransactionResult { result: R; marker: number; undo: () => void; } export interface BatchFrame { marker: number; id: string; } export interface BatchAPI { getBatchFrames: (root: object) => BatchFrame[] | undefined; beginBatch: (obj: object) => void; commitBatch: (obj: object) => void; rollbackBatch: (obj: object) => void; batch: (object: T, action: (observed: T) => R) => R; transaction(object: T, action: (observed: T) => R): R extends Promise ? Promise> : TransactionResult; } export declare const createBatchTransaction: (deps: BatchDeps) => BatchAPI; //# sourceMappingURL=batch-transaction.d.ts.map