import type { Key, Range, Value } from './common.js'; /** * A map backed by a persistent store. */ interface AztecBaseMap { /** * Sets the value at the given key. * @param key - The key to set the value at * @param val - The value to set */ set(key: K, val: V): Promise; /** * Sets the values at the given keys. * @param entries - The entries to set */ setMany(entries: { key: K; value: V; }[]): Promise; /** * Sets the value at the given key if it does not already exist. * @param key - The key to set the value at * @param val - The value to set */ setIfNotExists(key: K, val: V): Promise; /** * Deletes the value at the given key. * @param key - The key to delete the value at */ delete(key: K): Promise; } export interface AztecMap extends AztecBaseMap { /** * Gets the value at the given key. * @param key - The key to get the value from */ get(key: K): V | undefined; /** * Gets the current size of the map. * @returns The size of the map */ size(): number; /** * Checks if a key exists in the map. * @param key - The key to check * @returns True if the key exists, false otherwise */ has(key: K): boolean; /** * Iterates over the map's key-value entries in the key's natural order * @param range - The range of keys to iterate over */ entries(range?: Range): IterableIterator<[K, V]>; /** * Iterates over the map's values in the key's natural order * @param range - The range of keys to iterate over */ values(range?: Range): IterableIterator; /** * Iterates over the map's keys in the key's natural order * @param range - The range of keys to iterate over */ keys(range?: Range): IterableIterator; /** * Clears the map. */ clear(): Promise; } /** * A map backed by a persistent store. */ export interface AztecAsyncMap extends AztecBaseMap { /** * Gets the value at the given key. * @param key - The key to get the value from */ getAsync(key: K): Promise; /** * Checks if a key exists in the map. * @param key - The key to check * @returns True if the key exists, false otherwise */ hasAsync(key: K): Promise; /** * Iterates over the map's key-value entries in the key's natural order * @param range - The range of keys to iterate over */ entriesAsync(range?: Range): AsyncIterableIterator<[K, V]>; /** * Iterates over the map's values in the key's natural order * @param range - The range of keys to iterate over */ valuesAsync(range?: Range): AsyncIterableIterator; /** * Iterates over the map's keys in the key's natural order * @param range - The range of keys to iterate over */ keysAsync(range?: Range): AsyncIterableIterator; /** * Gets the current size of the map. * @returns The size of the map */ sizeAsync(): Promise; } export {}; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckQ7O0dBRUc7QUFDSCxVQUFVLFlBQVksQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsU0FBUyxLQUFLO0lBQ25EOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVuQzs7O09BR0c7SUFDSCxPQUFPLENBQUMsT0FBTyxFQUFFO1FBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7S0FBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXhEOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVqRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDL0I7QUFDRCxNQUFNLFdBQVcsUUFBUSxDQUFDLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEtBQUssQ0FBRSxTQUFRLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGOzs7T0FHRztJQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUM7SUFFM0I7OztPQUdHO0lBQ0gsSUFBSSxJQUFJLE1BQU0sQ0FBQztJQUVmOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7SUFFckI7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFOUM7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU1Qzs7T0FFRztJQUNILEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDeEI7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyxhQUFhLENBQUMsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLFNBQVMsS0FBSyxDQUFFLFNBQVEsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkY7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUV6Qzs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRW5DOzs7T0FHRztJQUNILFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU5RDs7O09BR0c7SUFDSCxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXhEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFdEQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUM5QiJ9