import { MemoryStorageOptions, StorageOptions } from "../models/domain/storage-options"; export abstract class AbstractStorageService { abstract get(key: string, options?: StorageOptions): Promise; abstract has(key: string, options?: StorageOptions): Promise; abstract save(key: string, obj: T, options?: StorageOptions): Promise; abstract remove(key: string, options?: StorageOptions): Promise; } export abstract class AbstractMemoryStorageService extends AbstractStorageService { // Used to identify the service in the session sync decorator framework static readonly TYPE = "MemoryStorageService"; readonly type = AbstractMemoryStorageService.TYPE; abstract get(key: string, options?: MemoryStorageOptions): Promise; abstract getBypassCache(key: string, options?: MemoryStorageOptions): Promise; }