import { Transaction } from '@tanstack/db';
import { CreateOfflineTransactionOptions, OfflineMutationFn, OfflineTransaction as OfflineTransactionType } from '../types.cjs';
export declare class OfflineTransaction {
    private offlineId;
    private mutationFnName;
    private autoCommit;
    private idempotencyKey;
    private metadata;
    private transaction;
    private persistTransaction;
    private executor;
    constructor(options: CreateOfflineTransactionOptions, mutationFn: OfflineMutationFn, persistTransaction: (tx: OfflineTransactionType) => Promise<void>, executor: any);
    mutate(callback: () => void): Transaction;
    commit(): Promise<Transaction>;
    rollback(): void;
    private extractKeys;
    get id(): string;
}
