import { NetworkIdType } from '@sonarwatch/portfolio-core'; export type MaybePromise = T | Promise; export type StorageValue = null | string | number | boolean | object | (null | string | number | boolean | object)[]; export type TransactionOptions = Record; export type Item = { key: string; value: StorageValue; }; export declare abstract class Storage { abstract dispose(): Promise; abstract get(key: string, prefix?: string, networkId?: NetworkIdType, opts?: TransactionOptions): MaybePromise; abstract getMany(keys: string[], prefix?: string, networkId?: NetworkIdType, opts?: TransactionOptions): MaybePromise>; abstract getAll(prefix?: string, networkId?: NetworkIdType, opts?: TransactionOptions): MaybePromise; abstract set(key: string, value: StorageValue, prefix?: string, networkId?: NetworkIdType, opts?: TransactionOptions): MaybePromise; abstract setMany(items: Item[], prefix?: string, networkId?: NetworkIdType, opts?: TransactionOptions): MaybePromise; abstract del(key: string, prefix?: string, networkId?: NetworkIdType, opts?: TransactionOptions): MaybePromise; abstract delMany(keys: string[], prefix?: string, networkId?: NetworkIdType, opts?: TransactionOptions): MaybePromise; }