import { SessionData, Store } from 'express-session'; import { RedisClientType, RedisClusterType } from 'redis'; type Callback = (_err?: unknown, _data?: any) => any; interface Serializer { parse(s: string): SessionData | Promise; stringify(s: SessionData): string; } interface RedisStoreOptions { client: any; prefix?: string; scanCount?: number; serializer?: Serializer; ttl?: number | ((sess: SessionData) => number); disableTTL?: boolean; disableTouch?: boolean; } export declare class RedisStore extends Store { client: RedisClientType | RedisClusterType; prefix: string; scanCount: number; serializer: Serializer; ttl: number | ((sess: SessionData) => number); disableTTL: boolean; disableTouch: boolean; constructor(opts: RedisStoreOptions); get(sid: string, cb?: Callback): Promise; set(sid: string, sess: SessionData, cb?: Callback): Promise; touch(sid: string, sess: SessionData, cb?: Callback): Promise; destroy(sid: string, cb?: Callback): Promise; clear(cb?: Callback): Promise; length(cb?: Callback): Promise; ids(cb?: Callback): Promise; all(cb?: Callback): Promise; private getTTL; private getAllKeys; private scanIterator; } export {};