import { Bytes } from '@cryptoeconomicslab/primitives'; export interface PutBatchOperation { type: 'Put'; key: Bytes; value: Bytes; } export interface DelBatchOperation { type: 'Del'; key: Bytes; } export declare type BatchOperation = PutBatchOperation | DelBatchOperation; export interface Iterator { next(): Promise<{ key: Bytes; value: Bytes; } | null>; } export interface KeyValueStore { get(key: Bytes): Promise; put(key: Bytes, value: Bytes): Promise; del(key: Bytes): Promise; batch(operations: BatchOperation[]): Promise; iter(lowerBound: Bytes, lowerBoundExclusive?: boolean): Iterator; bucket(key: Bytes): Promise; close(): Promise; open(): Promise; }