import type { Stringifiable } from '..'; import type { Uint64 } from '../../dataStructures/uint64'; /** Represents a key-value store */ export interface KVStore { length: number; get: ((key: Uint64) => V | undefined) | ((key: Uint64) => Promise); set: (key: Uint64, value: V) => void; values: () => AsyncGenerator; [Symbol.asyncIterator]: () => AsyncGenerator; close: () => void; } /** A constructor for a vector store */ export type KVStoreConstructor = new (fileName?: string) => KVStore; /** Just a placeholder to explain what a local key-value store essentially is */ export declare class KV implements KVStore { #private; /** @returns - the length of the map */ get length(): number; /** * Gets the list of values associated with a key * @param key - the key * @returns the list of values if the map contains values for the key */ get(key: Uint64): V | undefined; /** * Adds a value to the list of values associated with a key * @param key - the key * @param value - the value to store */ set(key: Uint64, value: V): void; /** * iterate through the values * @yields an iterator */ values(): AsyncGenerator; /** * iterate through the values * @returns an iterator */ [Symbol.asyncIterator](): AsyncGenerator; /** * Closes the store */ close(): void; } //# sourceMappingURL=index.d.ts.map