declare class Keyv { constructor (opts?: Keyv.Options) /** Returns the value. */ get(key: string, options?: { raw?: TRaw }): Promise<(TRaw extends false ? TValue : Keyv.DeserializedData) | undefined> /** Returns `true` if the key existed, `false` if not. */ has (key: string): Promise /** * Set a value. * * By default keys are persistent. You can set an expiry TTL in milliseconds. */ set (key: string, value: TValue, ttl?: number): Promise /** * Deletes an entry. * * Returns `true` if the key existed, `false` if not. */ delete (key: string): Promise /** Delete all entries in the current namespace. */ clear (options?: Record): Promise /** * Yields an iterator with all the key, value entries in the namespace. */ iterator (): AsyncIterator<[string, Keyv.DeserializedData]> } declare namespace Keyv { interface Options { /** Namespace for the current instance. */ namespace?: string | undefined /** A custom serialization function. */ serialize?: ((data: DeserializedData) => string | Promise) | undefined /** A custom deserialization function. */ deserialize?: ((data: string) => DeserializedData | undefined | Promise | undefined>) | undefined /** The storage adapter instance to be used by Keyv. Defaults to in-memory map */ store?: Store | Map /** Default TTL. Can be overridden by specififying a TTL on `.set()`. */ ttl?: number | undefined } interface DeserializedData { value: TValue expires: number | null } interface Store { get: (key: string) => TValue | Promise | undefined has: (key: string) => Promise set: (key: string, value: TValue, ttl?: number) => any delete: (key: string) => boolean | Promise clear: () => void | Promise iterator: () => AsyncGenerator } } export = Keyv