import type { Transaction } from '../connections/Connection.js';
import type { EntityManager } from '../EntityManager.js';
import type { TransactionEventType } from '../enums.js';
/** Broadcasts transaction lifecycle events (start, commit, rollback) through the EventManager. */
export declare class TransactionEventBroadcaster {
  private readonly em;
  readonly context?:
    | {
        topLevelTransaction?: boolean;
      }
    | undefined;
  constructor(
    em: EntityManager,
    context?:
      | {
          topLevelTransaction?: boolean;
        }
      | undefined,
  );
  /** Dispatches a transaction lifecycle event to the EventManager. */
  dispatchEvent(event: TransactionEventType, transaction?: Transaction): Promise<void>;
}
