import type { Session } from '../types/index.js'; import type { SessionStore } from './SessionStore.js'; import type { AgentStateController } from '../foundation/AgentStateController.js'; export declare class SessionManager { private store; private defaultAgentId; private readonly agentState; constructor(store: SessionStore, defaultAgentId: string, agentState?: AgentStateController); create(userId?: string, sessionId?: string): Promise; getOrCreate(sessionId?: string, userId?: string): Promise; get(sessionId: string): Promise; save(session: Session): Promise; delete(sessionId: string): Promise; listForUser(userId: string): Promise; recordHandoff(sessionId: string, fromAgentId: string, toAgentId: string, reason: string): Promise; updateStats(sessionId: string, tokensUsed: number, stepsCompleted: number): Promise; setState(sessionId: string, key: string, value: unknown): Promise; getState(sessionId: string, key: string): Promise; cleanup(maxAgeMs: number): Promise; updateAgentState(sessionId: string, agentId: string, state: Record): Promise; }