import { type CredentialCooldownIdentity, type SessionAffinityKeyDeriver, type SessionAffinityEntry, type SessionAffinityIdentity, type SessionAffinityStore } from './SessionAffinityStore'; export interface RedisSessionAffinityStoreOptions { client: string | RedisSessionAffinityRedisClient; secret?: string | Uint8Array; keyDeriver?: SessionAffinityKeyDeriver; namespace?: string; ttlMs?: number; now?: () => Date; } export interface RedisSessionAffinityRedisClient { get(key: string): Promise; set(key: string, value: string, ...args: unknown[]): Promise; del(key: string): Promise; } export declare class RedisSessionAffinityStore implements SessionAffinityStore { protected readonly logger: import("global-logger-factory").Logger; private readonly client; private readonly ownClient; private readonly prefix; private readonly keyDeriver; private readonly ttlMs; private readonly now; private shuttingDown; constructor(options: RedisSessionAffinityStoreOptions); finalize(): Promise; affinityKey(input: SessionAffinityIdentity): string; cooldownKey(input: CredentialCooldownIdentity): string; get(input: SessionAffinityIdentity): Promise; set(input: SessionAffinityEntry): Promise; delete(input: SessionAffinityIdentity): Promise; getCooldown(input: CredentialCooldownIdentity): Promise; setCooldown(input: CredentialCooldownIdentity & { until: Date; }): Promise; debugAffinityKey(input: SessionAffinityIdentity): string; private setWithTtl; private toKey; private parseAffinity; }