import type { ICache } from '@citrineos/base'; import type { ClassConstructor } from 'class-transformer'; import type { RedisClientOptions } from 'redis'; import type { ILogObj } from 'tslog'; import { Logger } from 'tslog'; /** * Implementation of cache interface with redis storage */ export declare class RedisCache implements ICache { private _client; private _logger; constructor(clientOptions?: RedisClientOptions, logger?: Logger); exists(key: string, namespace?: string): Promise; existsAnyInNamespace(namespace: string): Promise; remove(key: string, namespace?: string | undefined): Promise; onChange(key: string, waitSeconds: number, namespace?: string | undefined, classConstructor?: (() => ClassConstructor) | undefined): Promise; get(key: string, namespace?: string, classConstructor?: () => ClassConstructor): Promise; set(key: string, value: string, namespace?: string, expireSeconds?: number): Promise; setIfNotExist(key: string, value: string, namespace?: string, expireSeconds?: number): Promise; updateExpiration(key: string, expireSeconds: number, namespace?: string): Promise; }