export interface LiteralObject { [key: string]: any; } export interface CacheStore { set(key: string, value: T): Promise | void; get(key: string): Promise | void; del(key: string): void | Promise; } export interface CacheStoreFactory { create(args: LiteralObject): CacheStore; } export interface CacheManagerOptions { store?: string | CacheStoreFactory; ttl?: number; max?: number; isCacheableValue?: (value: any) => boolean; }