import type { Session } from '../types/index.js'; import type { AuditListOptions, ConversationAuditEntry } from '../audit/types.js'; export declare class StaleWriteError extends Error { readonly sessionId: string; readonly expectedVersion: number; readonly actualVersion: number; constructor(sessionId: string, expectedVersion: number, actualVersion: number); } export interface SessionListWindow { from?: Date; to?: Date; } export interface SessionStore { get(id: string): Promise; save(session: Session): Promise; delete(id: string): Promise; list(userId?: string): Promise; listSessions?(window?: SessionListWindow, filter?: (session: Session) => boolean): Promise; cleanup?(maxAgeMs: number): Promise; appendAuditEntry?(sessionId: string, entry: ConversationAuditEntry): Promise; listAuditEntries?(sessionId: string, opts?: AuditListOptions): Promise; }