/** * Redis memory store adapter. * Pass a Redis client (e.g. from "ioredis") so this package has no direct redis dependency. */ import { MemoryItem } from '../../types/memory-item.types'; import { MemoryQuery, MemorySearchOptions, MemoryStats, PruneOptions } from '../../types/store.types'; import { MemoryStore } from '../memory-store.interface'; export interface RedisStoreOptions { /** Redis client with get, set, del, sadd, smembers, srem, keys (or scan), mget. */ client: { get(key: string): Promise; set(key: string, value: string, ...args: string[]): Promise; del(...keys: string[]): Promise; sadd(key: string, ...members: string[]): Promise; smembers(key: string): Promise; srem(key: string, ...members: string[]): Promise; mget(...keys: string[]): Promise<(string | null)[]>; keys(pattern: string): Promise; }; /** Key prefix. Default: memory */ keyPrefix?: string; /** Default TTL in seconds for keys with expiresAt (emotional). */ defaultTtlSeconds?: number; } export declare class RedisStore implements MemoryStore { private readonly client; private readonly prefix; private readonly defaultTtlSeconds; constructor(options: RedisStoreOptions); initialize(): Promise; private serialize; private static deserialize; save(item: MemoryItem): Promise; saveBatch(items: MemoryItem[]): Promise; get(id: string): Promise; update(id: string, updates: Partial): Promise; delete(id: string): Promise; deleteBatch(ids: string[]): Promise; query(options: MemoryQuery): Promise; search(query: string | number[], options: MemorySearchOptions): Promise; getStats(userId?: string): Promise; prune(options?: PruneOptions): Promise; } //# sourceMappingURL=redis.store.d.ts.map