export interface IStorage { /** * Получение значения по ключу * @param key Ключ, по которому необходимо получить значение */ get(key: string): Promise; /** * Сохранение данных по ключу на указанное время, с учетом переданных тегов * @param key Ключ, по которому необходимо сохранить данные * @param value Данные для сохранения * @param expired Количество секунд в течение которых данные будут храниться * @param tags Массив тегов, которыми необходимо пометить набор данных */ set(key: string, value: any, expired?: number, tags?: string[]): Promise; /** * Удаление данных из хранилища по ключу * @param key Ключ по которым необходимо удалить данные */ remove(key: string): Promise; /** * Удаление данных из хранилища по указанному тегу * @param tag Имя тега по которому необходимо удалить данные */ removeByTag(tag: string): Promise; maintenance(): Promise; clear(): Promise; getCacheKey(...args: any[]): string; }