export interface TransactionOperation {
    type: 'INSERT' | 'UPDATE' | 'DELETE';
    documentId?: string;
    query?: object;
    data?: object;
    fileName?: string;
    oldData?: object;
    savepointName?: string;
}
export interface WALEntry {
    transactionId: string;
    timestamp: string;
    operationType: 'INSERT' | 'UPDATE' | 'DELETE';
    documentId: string;
    fileName: string;
    beforeData?: string;
    afterData?: string;
    checksum: string;
    savepointName?: string;
}
export interface TransactionMetadata {
    transactionId: string;
    collectionPath: string;
    status: 'ACTIVE' | 'PREPARING' | 'COMMITTED' | 'ABORTED';
    startTime: string;
    lockedDocuments: string[];
    isolationLevel: 'READ_COMMITTED' | 'REPEATABLE_READ';
}
export interface LockInfo {
    documentId: string;
    transactionId: string;
    lockType: 'WRITE';
    timestamp: number;
}
export interface Savepoint {
    name: string;
    operationIndex: number;
    timestamp: string;
    lockedDocumentsSnapshot: string[];
}
export interface SessionOptions {
    defaultTimeout?: number;
    retryWrites?: boolean;
    maxRetries?: number;
}
