export interface ICache { write: (query: string, data: any) => Promise; read: (query: string) => Promise; invalidate: (query: string) => Promise; invalidateAll: () => Promise; update: (callback: (...args: any[]) => void) => Promise; }