import { ITransactionManager, ETransactionStatus, ITransaction, ITransactionParams, TTransactionOperation } from "../javax/transaction"; /** * Base class for all transaction managers. * Base implmentation of TransactionManager interface. * Implements semaphore way to manage keep single transaction via transactional-annotated functions deep calls. */ export declare abstract class AbstractTransactionManager implements ITransactionManager { protected transaction: T; protected suspended: boolean; protected semaphore: number; protected operations: TTransactionOperation[]; constructor(); /** * transaction provider */ abstract transactionFactory(): Promise; /** * start transaction */ begin(params: ITransactionParams): Promise; /** * commit transaction */ commit(): Promise; /** * rollback transaction */ rollback(): Promise; /** * suspend transaction */ suspend(): void; /** * resume transaction */ resume(): void; /** * close transaction */ close(): void; /** * get status of transaction */ getStatus(): ETransactionStatus; /** * get transaction object */ getTransaction(): T; }