///
///
import { BN } from 'ethereumjs-util';
import { Block, BlockHeader, Receipt } from '@rei-network/structure';
import { DBOp } from './operation';
export declare function DBSetTD(TD: BN, blockNumber: BN, blockHash: Buffer): DBOp;
export declare function DBSetBlockOrHeader(blockBody: Block | BlockHeader): DBOp[];
export declare function DBSetHashToNumber(blockHash: Buffer, blockNumber: BN): DBOp;
export declare function DBSaveLookups(blockHash: Buffer, blockNumber: BN): DBOp[];
/**
* Create Receipts operation for the given receipts
* @param receipts - Target receipts
* @param blockHash - Block hash
* @param blockNumber - Block number
* @returns New operation
*/
export declare function DBSaveReceipts(receipts: Receipt[], blockHash: Buffer, blockNumber: BN): DBOp;
/**
* Create TxLookup operations for all transactions of the given block
* @param block - Target block
* @returns Array of operations
*/
export declare function DBSaveTxLookup(block: Block): DBOp[];
/**
* Create BloomBits operation for the given section
* @param bit - Bit index of target section
* @param section - Section number
* @param hash - Hash of the last block header of the target section
* @param bits - Bloom bits data
* @returns New operation
*/
export declare function DBSaveBloomBits(bit: number, section: BN, hash: Buffer, bits: Buffer): DBOp;
/**
* Create BloomBitsSectionCount operation
* @param section - Section number
* @returns New operation
*/
export declare function DBSaveBloomBitsSectionCount(section: BN): DBOp;
/**
* Create a operation to delete BloomBitsSectionCount
* @returns New operation
*/
export declare function DBDeleteBloomBitsSectionCount(): DBOp;
/**
* Create a operation to save snapshot account
* @param accountHash - Account hash
* @param serializedAccount - Serialized account
* @returns New operation
*/
export declare function DBSaveSerializedSnapAccount(accountHash: Buffer, serializedAccount: Buffer): DBOp;
/**
* Create a operation to delete snapshot account
* @param accountHash - Account hash
* @returns New operation
*/
export declare function DBDeleteSnapAccount(accountHash: Buffer): DBOp;
/**
* Create a operation to save snapshot account storage
* @param accountHash - Account hash
* @param storageHash - Storage hash
* @param storageValue - Storage value
* @returns New operation
*/
export declare function DBSaveSnapStorage(accountHash: Buffer, storageHash: Buffer, storageValue: Buffer): DBOp;
/**
* Create a operation to delete snapshot account storage
* @param accountHash - Account hash
* @param storageHash - Storage hash
* @returns New operation
*/
export declare function DBDeleteSnapStorage(accountHash: Buffer, storageHash: Buffer): DBOp;
/**
* Create a operation to save snapshot root
* @param root
* @returns New operation
*/
export declare function DBSaveSnapRoot(root: Buffer): DBOp;
/**
* Create a operation to delete snapshot root
* @returns New operation
*/
export declare function DBDeleteSnapRoot(): DBOp;
/**
* Create a operation to save snapshot journal
* @param journal
* @returns New operation
*/
export declare function DBSaveSnapJournal(journal: Buffer): DBOp;
/**
* Create a operation to delete snapshot journal
* @returns New operation
*/
export declare function DBDeleteSnapJournal(): DBOp;
/**
* Create a operation to save snapshot generator
* @param generator
* @returns New operation
*/
export declare function DBSaveSnapGenerator(generator: Buffer): DBOp;
/**
* Create a operation to delete snapshot generator
* @returns New operation
*/
export declare function DBDeleteSnapGenerator(): DBOp;
/**
* Create a operation to save snapshot disabled
* @returns New operation
*/
export declare function DBSaveSnapDisabled(): DBOp;
/**
* Create a operation to delete snapshot disabled
* @returns
*/
export declare function DBDeleteSnapDisabled(): DBOp;
/**
* Create a operation to save snapshot recovery
* @returns
*/
export declare function DBSaveSnapRecoveryNumber(number: BN): DBOp;
/**
* Create a operation to delete snapshot recovery
* @returns
*/
export declare function DBDeleteSnapRecoveryNumber(): DBOp;
/**
* Create a operation to save snapshot sync progress
* @param progress
* @returns New operation
*/
export declare function DBSaveSnapSyncProgress(progress: Buffer): DBOp;