import { EntityManager, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from "typeorm"; export interface HistoryEntitySubscriberInterface extends EntitySubscriberInterface { entity: Function; historyEntity: Function; createHistoryEntity(manager: EntityManager, entity: EntityType): HistoryEntityType | Promise; beforeInsertHistory(history: HistoryEntityType, entity: Readonly): HistoryEntityType | Promise; afterInsertHistory(history: HistoryEntityType, entity: Readonly): void | Promise; beforeUpdateHistory(history: HistoryEntityType, entity: Readonly): HistoryEntityType | Promise; afterUpdateHistory(history: HistoryEntityType, entity: Readonly): void | Promise; beforeRemoveHistory(history: HistoryEntityType, entity: Readonly): HistoryEntityType | Promise; afterRemoveHistory(history: HistoryEntityType, entity: Readonly): void | Promise; } export declare abstract class HistoryEntitySubscriber implements HistoryEntitySubscriberInterface { beforeInsertHistory(history: HistoryEntityType, entity: Readonly): HistoryEntityType | Promise; afterInsertHistory(history: HistoryEntityType, entity: Readonly): void | Promise; beforeUpdateHistory(history: HistoryEntityType, entity: Readonly): HistoryEntityType | Promise; afterUpdateHistory(history: HistoryEntityType, entity: Readonly): void | Promise; beforeRemoveHistory(history: HistoryEntityType, entity: Readonly): HistoryEntityType | Promise; afterRemoveHistory(history: HistoryEntityType, entity: Readonly): void | Promise; abstract get entity(): Function; abstract get historyEntity(): Function; listenTo(): Function; createHistoryEntity(manager: Readonly, entity: EntityType): HistoryEntityType; afterInsert(event: InsertEvent): Promise; afterUpdate(event: UpdateEvent): Promise; beforeRemove(event: RemoveEvent): Promise; private createHistory; }