import { type DataSourceOptions } from 'typeorm'; import { DatabaseState, FinalTxInfo, HashAndHeight, HotTxInfo } from './interfaces'; import { Store } from './store'; export type IsolationLevel = 'SERIALIZABLE' | 'READ COMMITTED' | 'REPEATABLE READ'; export type RollbackHook = (block: number) => Promise; export interface TypeormDatabaseOptions { supportHotBlocks?: boolean; isolationLevel?: IsolationLevel; stateSchema?: string; projectDir?: string; customTypeOrmOptions?: DataSourceOptions; rollbackHook?: RollbackHook; } export declare class TypeormDatabase { private statusSchema; private isolationLevel; private con?; private projectDir; private customTypeOrmOptions?; readonly supportsHotBlocks: boolean; private rollbackHook?; constructor(options?: TypeormDatabaseOptions); connect(): Promise; disconnect(): Promise; private initTransaction; private getState; transact(info: FinalTxInfo, cb: (store: Store) => Promise): Promise; transactHot(info: HotTxInfo, cb: (store: Store, block: HashAndHeight) => Promise): Promise; transactHot2(info: HotTxInfo, cb: (store: Store, sliceBeg: number, sliceEnd: number) => Promise): Promise; private deleteHotBlocks; private insertHotBlock; private updateStatus; private performUpdates; private submit; private escapedSchema; } //# sourceMappingURL=database.d.ts.map