import type { EnforcementPoint, PolicyCleared } from '@n8n/decorators'; import type { SecurityContext } from '@n8n/permissions'; export type IsolationLevel = 'READ UNCOMMITTED' | 'READ COMMITTED' | 'REPEATABLE READ' | 'SERIALIZABLE'; export declare abstract class Transaction { private readonly isolationLevel?; constructor(isolationLevel?: IsolationLevel | undefined); getIsolationLevel(): IsolationLevel | undefined; } export interface OperationContext { readonly trx?: Transaction; readonly policyCleared?: PolicyCleared; readonly security?: SecurityContext; } export interface RunOptions { isolationLevel?: IsolationLevel; } export declare abstract class TransactionRunner { abstract run(context: OperationContext, fn: (ctx: OperationContext) => Promise, options?: RunOptions): Promise; }