/** * Session persistence adapters. * StorageAdapter is the extension point; SessionManager is the developer-facing API. */ import type { SessionState, StorageAdapter } from "../types"; export declare class InMemoryStorage implements StorageAdapter { private store; get(sessionId: string): Promise; set(sessionId: string, state: SessionState): Promise; delete(sessionId: string): Promise; } export declare class FileStorage implements StorageAdapter { private readonly dir; constructor(dir: string); private filePath; get(sessionId: string): Promise; set(sessionId: string, state: SessionState): Promise; delete(sessionId: string): Promise; } /** * SQLite session store using Node's built-in `node:sqlite` (Node 22.5+). * No native addon required. */ export declare class SqliteStorage implements StorageAdapter { private db; constructor(dbPath?: string); get(sessionId: string): Promise; set(sessionId: string, state: SessionState): Promise; delete(sessionId: string): Promise; close(): void; } /** Optional Redis adapter — works with any client exposing get/set/del. */ export declare class RedisStorage implements StorageAdapter { private readonly client; private readonly keyPrefix; constructor(client: { get(key: string): Promise; set(key: string, value: string): Promise; del(key: string): Promise; }, keyPrefix?: string); private key; get(sessionId: string): Promise; set(sessionId: string, state: SessionState): Promise; delete(sessionId: string): Promise; } export declare class SessionManager { private readonly storage; constructor(storage: StorageAdapter); load(sessionId: string): Promise; save(state: SessionState): Promise; clear(sessionId: string): Promise; } //# sourceMappingURL=index.d.ts.map