import { IBlocksRepository } from "./database-repository"; import { IRoundsRepository } from "./database-repository"; import { ITransactionsRepository } from "./database-repository"; import { IWalletsRepository } from "./database-repository"; import { models } from "@mlcc/crypto"; export interface IDatabaseConnection { options: any; blocksRepository: IBlocksRepository; walletsRepository: IWalletsRepository; roundsRepository: IRoundsRepository; transactionsRepository: ITransactionsRepository; make(): Promise; connect(): Promise; disconnect(): Promise; buildWallets(height: number): Promise; saveWallets(wallets: any[], force?: boolean): Promise; saveBlock(block: models.Block): Promise; deleteBlock(block: models.Block): Promise; enqueueDeleteBlock(block: models.Block): any; enqueueDeleteRound(height: number): any; enqueueSaveBlock(block: models.Block): any; commitQueuedQueries(): any; }