import type { SessionState } from './state.js'; export interface SessionStore { load(spaceId?: string, rootEntryId?: string, sessionName?: string): SessionState | null | Promise; save(state: SessionState, sessionName?: string): void | Promise; clear(spaceId: string, rootEntryId: string, sessionName?: string): void | Promise; clearAll(): void | Promise; } export interface RedisClient { /** Upstash may return parsed JSON objects when automaticDeserialization is enabled. */ get(key: string): Promise; set(key: string, value: string, options?: { ex?: number; nx?: boolean; }): Promise; del(key: string): Promise; /** Prefer not to use for multi-tenant session isolation — prefer explicit keys / SETs. */ keys(pattern: string): Promise; incr(key: string): Promise; expire(key: string, seconds: number): Promise; /** Set members — used for per-user+space session index (clearAll without KEYS). */ sadd(key: string, ...members: string[]): Promise; srem(key: string, ...members: string[]): Promise; smembers(key: string): Promise; } export declare function buildSessionKey(userId: string | undefined, spaceId: string, rootEntryId: string, sessionName?: string): string; export declare function buildSessionNameSuffix(sessionName: string): string; //# sourceMappingURL=session-store.d.ts.map