export interface KeyValueCache< V = string, SO extends KeyValueCacheSetOptions = KeyValueCacheSetOptions, > { get(key: string): Promise; set(key: string, value: V, options?: SO): Promise; delete(key: string): Promise; } export interface KeyValueCacheSetOptions { /** * Specified in **seconds**, the time-to-live (TTL) value limits the lifespan * of the data being stored in the cache. */ ttl?: number | null; }