import {OpaqueToken} from '@angular/core'; import {ISerializable} from './serializeable.interface'; export interface ICache { get(key: string, type: {new(): ISerializable}): T; restore(key: string, restoreInto: T): T; set(key: string, data: ISerializable): string; delete(key: string): boolean; clear(): void; } export const CACHE = new OpaqueToken('cache.adapter');