import { SessionOptions } from "express-session";
import { _BaseModule } from "../_BaseModule";
import { LogModule, LogModuleConfig } from "./Log";
import { RedisModule } from "./Redis";
import { Socket as SocketIOSocket } from "socket.io";
export declare type SessionModuleConfig = {
    id?: string;
    logger?: LogModuleConfig;
    options: Partial<SessionOptions>;
};
export declare class SessionModule extends _BaseModule<SessionModule, SessionModuleConfig> {
    private readonly _redisProvider;
    private readonly _expressSession;
    constructor(config: SessionModuleConfig, _redisProvider: RedisModule, logger?: LogModule);
    get expressMiddleware(): any;
    get socketIOMiddleware(): (socket: SocketIOSocket, next: any) => void;
}
