import { SolidRegistry } from '../helpers/solid-registry';
import { DataSource, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from 'typeorm';
import { AuditQueuePayload } from '../interfaces';
import { RequestContextService } from '../services/request-context.service';
import { PublisherFactory } from '../services/queues/publisher-factory.service';
export declare class AuditSubscriber implements EntitySubscriberInterface {
    private readonly publisherFactory;
    private readonly solidRegistry;
    private readonly requestContextService;
    private readonly logger;
    private dataSource;
    constructor(publisherFactory: PublisherFactory<AuditQueuePayload>, solidRegistry: SolidRegistry, requestContextService: RequestContextService);
    bindToDataSource(dataSource: DataSource): void;
    private perTxn;
    private enqueue;
    private shouldTrackAudit;
    private activeUserId;
    afterInsert(event: InsertEvent<any>): Promise<void>;
    afterUpdate(event: UpdateEvent<any>): Promise<void>;
    afterRemove(event: RemoveEvent<any>): Promise<void>;
    afterTransactionCommit(event: {
        queryRunner: any;
    }): Promise<void>;
    afterTransactionRollback(event: {
        queryRunner: any;
    }): void;
}
//# sourceMappingURL=audit.subscriber.d.ts.map