import * as IORedis from 'ioredis'; import { Message } from './CQHelper'; import { RequestIdentity } from './Command'; export declare type HistoryMessage = Record>; export interface SessionData extends RequestIdentity { className: string; sessionName: string; historyMessage: HistoryMessage; } export declare class Session { private static readonly debug; private readonly redis; constructor(port?: number, host?: string, options?: IORedis.RedisOptions); constructor(host?: string, options?: IORedis.RedisOptions); constructor(options?: IORedis.RedisOptions); private static genSessionKey; getSession(params: RequestIdentity): Promise; setSession(params: RequestIdentity, data: Omit, sessionName: SessionData['sessionName'], expireSeconds?: number): Promise; updateSession(params: RequestIdentity, hashKey: T, val: SessionData[T]): Promise; removeSession(params: RequestIdentity): Promise; }