///
import { Schema } from '@liskhq/lisk-codec';
import { IterateOptions } from '@liskhq/lisk-db';
import { ImmutableSubStore, SubStore } from '../state_machine/types';
export interface ImmutableOffchainStoreGetter {
getOffchainStore: (moduleID: Buffer, storePrefix: Buffer) => ImmutableSubStore;
}
export interface OffchainStoreGetter {
getOffchainStore: (moduleID: Buffer, storePrefix: Buffer) => SubStore;
}
export declare abstract class BaseOffchainStore {
private readonly _version;
private readonly _storePrefix;
private readonly _subStorePrefix;
abstract schema: Schema;
get key(): Buffer;
get name(): string;
constructor(moduleName: string, version?: number);
get(ctx: ImmutableOffchainStoreGetter, key: Buffer): Promise;
has(ctx: ImmutableOffchainStoreGetter, key: Buffer): Promise;
iterate(ctx: ImmutableOffchainStoreGetter, options: IterateOptions): Promise<{
key: Buffer;
value: T;
}[]>;
set(ctx: OffchainStoreGetter, key: Buffer, value: T): Promise;
del(ctx: OffchainStoreGetter, key: Buffer): Promise;
}