/// /// import { BN } from 'ethereumjs-util'; import { CacheMap } from './manager'; export declare enum DBTarget { Heads = 0, HeadHeader = 1, HeadBlock = 2, HashToNumber = 3, NumberToHash = 4, TotalDifficulty = 5, Body = 6, Header = 7, CliqueSignerStates = 8, CliqueVotes = 9, CliqueBlockSigners = 10, Receipts = 100, TxLookup = 101, BloomBits = 102, BloomBitsSectionCount = 103, SnapAccount = 104, SnapStorage = 105, SnapRoot = 106, SnapJournal = 107, SnapGenerator = 108, SnapRecovery = 109, SnapDisabled = 110, SnapSyncProgress = 111 } /** * DBOpData is a type which has the purpose of holding the actual data of the Database Operation. * @hidden */ export interface DBOpData { type?: string; key: Buffer | string; keyEncoding: string; valueEncoding?: string; value?: string | Buffer | object; } export type DatabaseKey = { blockNumber?: BN; blockHash?: Buffer; txHash?: Buffer; bit?: number; section?: BN; hash?: Buffer; accountHash?: Buffer; storageHash?: Buffer; }; /** * The DBOp class aids creating database operations which is used by `level` using a more high-level interface */ export declare class DBOp { operationTarget: DBTarget; baseDBOp: DBOpData; cacheString: string | undefined; private constructor(); static get(operationTarget: DBTarget, key?: DatabaseKey): DBOp; static set(operationTarget: DBTarget, value: string | Buffer | object, key?: DatabaseKey): DBOp; static del(operationTarget: DBTarget, key?: DatabaseKey): DBOp; updateCache(cacheMap: CacheMap): void; }