/** * Manages MCP sessions for the Streamable HTTP transport. * Sessions are created during initialization and validated on subsequent requests. * * Sessions expire after a period of inactivity so that clients which disconnect * uncleanly (closed tab, crash, dropped network) don't leak entries forever. * Expiry is lazy: stale entries are pruned on access, so no background timer is * required. */ export interface SessionManagerOptions { /** Inactivity TTL in ms (default 30 minutes). */ ttlMs?: number; /** Clock, injectable for tests. Defaults to Date.now. */ now?: () => number; } export declare class SessionManager { /** id -> last-seen timestamp (ms). */ private sessions; private readonly ttlMs; private readonly now; private sessionHeaderRequired; constructor(options?: SessionManagerOptions); create(): string; isValid(id: string): boolean; terminate(id: string): void; get size(): number; clear(): void; requiresSessionHeader(): boolean; private isExpired; private pruneExpired; } //# sourceMappingURL=session.d.ts.map