export declare class SessionManager {
constructor(storage: StorageDriver, config?: SessionManagerConfig);
getOrCreate(sessionId: string, userId?: string): Promise<Session>;
appendMessage(sessionId: string, msg: ChatMessage): Promise<AppendResult>;
appendMessages(sessionId: string, msgs: ChatMessage[]): Promise<AppendResult>;
getHistory(sessionId: string, limit?: number): Promise<ChatMessage[]>;
updateState(sessionId: string, patch: Record<string, unknown>): Promise<void>;
getState(sessionId: string): Promise<Record<string, unknown>>;
deleteSession(sessionId: string): Promise<void>;
/** List stored sessions, optionally filtered by user. */
listSessions(opts?: {
userId?: string;
}): Promise<Session[]>;
/**
* Search message text across sessions. Returns short snippets.
* This is a simple substring search, not embeddings.
*/
searchSessions(query: string, opts?: {
userId?: string;
limit?: number;
}): Promise<Array<{
sessionId: string;
snippet: string;
}>>;
}