/** * Represents a singleton value in the database. * Note: The singleton loses type info so it's recommended to serialize to buffer when storing it. */ interface AztecBaseSingleton { /** * Sets the value. * @param val - The new value */ set(val: T): Promise; /** * Deletes the value. */ delete(): Promise; } export interface AztecSingleton extends AztecBaseSingleton { /** * Gets the value. */ get(): T | undefined; } export interface AztecAsyncSingleton extends AztecBaseSingleton { /** * Gets the value. */ getAsync(): Promise; }