/**
 * Session Store
 *
 * Manages active debug sessions and their states.
 */
import type { DebugSession, AgentDetails, AgentState, DecisionLogEntry } from '../types.js';
export declare class SessionStore {
    private sessions;
    private activeSessionId;
    /**
     * Create a new session
     */
    createSession(sessionId: string, agentId: string, agentDetails?: AgentDetails): DebugSession;
    /**
     * Get a session by ID
     */
    getSession(sessionId: string): DebugSession | undefined;
    /**
     * Get the active session
     */
    getActiveSession(): DebugSession | undefined;
    /**
     * Set active session
     */
    setActiveSession(sessionId: string): void;
    /**
     * Get active session ID
     */
    getActiveSessionId(): string | null;
    /**
     * Update session state
     */
    updateState(sessionId: string, state: AgentState): void;
    /**
     * Update session agent details
     */
    updateAgentDetails(sessionId: string, agentDetails: AgentDetails): void;
    /**
     * Touch session (update last activity)
     */
    touchSession(sessionId: string): void;
    /**
     * Delete a session
     */
    deleteSession(sessionId: string): boolean;
    /**
     * Get all sessions
     */
    getAllSessions(): DebugSession[];
    /**
     * Clear all sessions
     */
    clear(): void;
    /**
     * Get session count
     */
    size(): number;
    /**
     * Check if session exists
     */
    hasSession(sessionId: string): boolean;
    /**
     * Get decision log entries from session state
     */
    getDecisionLog(sessionId: string): DecisionLogEntry[];
}
//# sourceMappingURL=session-store.d.ts.map