/** * Session Store - Persistent storage for sessions * * Provides in-memory and file-based session storage. */ /** * Session data for storage */ export interface StoredSession { id: string; name?: string; data: Record; metadata: Record; createdAt: number; updatedAt: number; expiresAt?: number; } /** * Store configuration */ export interface SessionStoreConfig { /** Storage type */ type?: 'memory' | 'file'; /** File path for file storage */ filePath?: string; /** Default TTL in ms */ defaultTTL?: number; /** Auto-save interval for file storage */ autoSaveInterval?: number; } /** * Session store interface */ export interface ISessionStore { get(id: string): Promise; set(session: StoredSession): Promise; delete(id: string): Promise; list(): Promise; clear(): Promise; } /** * MemorySessionStore - In-memory session storage */ export declare class MemorySessionStore implements ISessionStore { private sessions; private defaultTTL?; constructor(defaultTTL?: number); get(id: string): Promise; set(session: StoredSession): Promise; delete(id: string): Promise; list(): Promise; clear(): Promise; } /** * FileSessionStore - File-based session storage */ export declare class FileSessionStore implements ISessionStore { private filePath; private sessions; private defaultTTL?; private autoSaveInterval?; private saveTimer?; private dirty; constructor(filePath: string, config?: { defaultTTL?: number; autoSaveInterval?: number; }); load(): Promise; save(): Promise; get(id: string): Promise; set(session: StoredSession): Promise; delete(id: string): Promise; list(): Promise; clear(): Promise; close(): Promise; } /** * Create session store */ export declare function createSessionStore(config?: SessionStoreConfig): ISessionStore; /** * Create new stored session */ export declare function createStoredSession(data?: Record, metadata?: Record): StoredSession; declare const _default: { MemorySessionStore: typeof MemorySessionStore; FileSessionStore: typeof FileSessionStore; createSessionStore: typeof createSessionStore; }; export default _default;