import { ClsNamespaceService } from './cls-namespace.service';
import { TransactionT } from '../core/transaction';
import { Logger } from './logger';
import { ORMService } from './orm.service';
import { RouterReflector } from '../router/reflector';
export declare class TransactionService {
    private orm;
    private logger;
    private namespace;
    private routerReflector;
    constructor(orm: ORMService, logger: Logger, namespace: ClsNamespaceService, routerReflector: RouterReflector);
    start(): Promise<void>;
    readonly current: TransactionT | undefined;
    run<T = void>(transactionName: string, fn: () => Promise<T>): Promise<T>;
    run<T = void>(transactionName: string, detach: boolean, fn: () => Promise<T>): Promise<T>;
}
