import { EventEmitter } from 'node:events'; import type { TeamSession, AgentSpecialization, AuditEntry } from '../runtime/types.js'; export declare class TeamSessionManager extends EventEmitter { private sessions; private loops; /** * Create a new team session. Returns the session ID. * The session starts immediately and runs asynchronously. */ create(apiKey: string, goal: string, agents: AgentSpecialization[], opts?: { models?: Partial>; maxConcurrentTasks?: number; stallTimeoutMs?: number; codebaseRoot?: string; }): string; /** * Get session info. */ getSession(sessionId: string): TeamSession | null; /** * Get detailed status including trust levels and task graph. */ getStatus(sessionId: string): { session: TeamSession; verificationCount: number; auditEntryCount: number; durationMs: number; } | null; /** * Get audit trail for a session. */ getAuditTrail(sessionId: string, offset?: number, limit?: number): { entries: readonly AuditEntry[]; total: number; } | null; /** * Register an SSE client for real-time updates. */ registerSSEClient(sessionId: string, writer: SSEWriter): boolean; /** * Remove an SSE client. */ removeSSEClient(sessionId: string, writer: SSEWriter): void; /** * Stop a running session. */ stop(sessionId: string): boolean; /** * List all sessions for an API key. */ listSessions(apiKey: string): TeamSession[]; private broadcastSSE; private closeSSE; private auditToSSEType; } export interface SSEWriter { write(data: string): void; end(): void; }