export interface ICacheOptions { backend: any; namespace: string; policy: ICachePolicy; } export interface ICachePolicy { maxEntries: number; stdTTL: number; } export default class Cache { protected backend: any; protected namespace: string; protected policy: ICachePolicy; constructor(options: ICacheOptions); clearAll(): Promise; enforceLimits(): Promise; getAll(): Promise<{ [key: string]: any; }>; get(key: string): Promise; peek(key: string): Promise; remove(key: string): Promise; set(key: string, value: string): Promise; protected addToLRU(key: string): Promise; protected getLRU(): Promise; protected getLRUKey(): string; protected makeCompositeKey(key: string): string; protected fromCompositeKey(compositeKey: string): string; protected refreshLRU(key: string): Promise; protected removeFromLRU(key: string): Promise; protected setLRU(lru: string[]): Promise; }