import type { EntityManager } from 'typeorm'; import { Entity, EntityClass } from './store'; import { RollbackHook } from './database'; export interface RowRef { table: string; id: string; } export interface InsertRecord extends RowRef { kind: 'insert'; } export interface DeleteRecord extends RowRef { kind: 'delete'; fields: Record; } export interface UpdateRecord extends RowRef { kind: 'update'; fields: Record; } export type ChangeRecord = InsertRecord | UpdateRecord | DeleteRecord; export interface ChangeRow { block_height: number; index: number; change: ChangeRecord; } export declare class ChangeTracker { private em; private statusSchema; private blockHeight; private index; constructor(em: EntityManager, statusSchema: string, blockHeight: number); trackInsert(type: EntityClass, entities: Entity[]): Promise; trackUpsert(type: EntityClass, entities: Entity[]): Promise; trackDelete(type: EntityClass, ids: string[]): Promise; private fetchEntities; private writeChangeRows; private getEntityMetadata; private escape; } export declare function rollbackBlock(statusSchema: string, em: EntityManager, blockHeight: number, rollbackHook?: RollbackHook): Promise; //# sourceMappingURL=hot.d.ts.map