/**
 * Pure helper: compute interactive-session lifecycle deltas.
 *
 * Takes the full list of currently-active sessions plus a `fetchById` lookup
 * (so the orchestrator can inject the repository call) and returns:
 * - Events for active sessions whose status changed.
 * - Events for sessions that transitioned out of active state — those come
 *   via an async `findById` lookup so the caller controls the repo access.
 *
 * Mutates `sessionCache` in place.
 */
import type { InteractiveSession } from '../../../../domain/generated/output.js';
import type { CachedSessionState, StreamedAgentEvent } from './stream-agent-events.types.js';
export interface ComputeSessionDeltasArgs {
    activeSessions: InteractiveSession[];
    sessionCache: Map<string, CachedSessionState>;
    fetchById: (sessionId: string) => Promise<InteractiveSession | null>;
}
export declare function computeSessionDeltas(args: ComputeSessionDeltasArgs): Promise<StreamedAgentEvent[]>;
//# sourceMappingURL=compute-session-deltas.d.ts.map