import { SessionData, Store } from "express-session"; interface NormalizedRedisClient { get(key: string): Promise; set(key: string, value: string, ttl?: number): Promise; expire(key: string, ttl: number): Promise; scanIterator(match: string, count: number): AsyncIterable; del(key: string[]): Promise; mget(key: string[]): Promise<(string | null)[]>; } 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; } declare class RedisStore extends Store { client: NormalizedRedisClient; prefix: string; scanCount: number; serializer: Serializer; ttl: number | { (sess: SessionData): number; }; disableTTL: boolean; disableTouch: boolean; constructor(opts: RedisStoreOptions); private normalizeClient; get(sid: string, cb?: (_err?: unknown, _data?: any) => void): Promise; set(sid: string, sess: SessionData, cb?: (_err?: unknown, _data?: any) => void): Promise; touch(sid: string, sess: SessionData, cb?: (_err?: unknown, _data?: any) => void): Promise; destroy(sid: string, cb?: (_err?: unknown, _data?: any) => void): Promise; clear(cb?: (_err?: unknown, _data?: any) => void): Promise; length(cb?: (_err?: unknown, _data?: any) => void): Promise; ids(cb?: (_err?: unknown, _data?: any) => void): Promise; all(cb?: (_err?: unknown, _data?: any) => void): Promise; private _getTTL; private _getAllKeys; } export default RedisStore;