/**
 * Pure helper: convert new {@link SupervisorDecision} rows into
 * {@link SupervisorDecisionStreamEvent} entries for the SSE pipeline
 * (spec 093, task 30).
 *
 * Mirrors the existing computeMessageDeltas shape: caller owns the
 * cache, helper is pure beyond mutating that cache, never queries
 * repositories. Decisions are immutable audit rows so we only need a
 * `deliveredIds` set and a high-water `lastSeenAt` mark — there is no
 * status transition to track (unlike {@link AgentQuestion}).
 */
import type { SupervisorDecision } from '../../../../domain/generated/output.js';
import type { StreamedAgentEvent } from './stream-agent-events.types.js';
/** Per-connection cached state for the supervisor-decision stream. */
export interface CachedSupervisorDecisionState {
    /** High-water mark — millis of the most-recent decision we emitted. */
    lastSeenAt: number;
    /** Ids already emitted (bounded set; trimmed by the use case if needed). */
    deliveredIds: Set<string>;
}
export interface ComputeDecisionDeltasArgs {
    /** Decisions returned by ISupervisorDecisionRepository for the current scope. */
    decisions: SupervisorDecision[];
    cache: CachedSupervisorDecisionState;
}
export declare function computeDecisionDeltas(args: ComputeDecisionDeltasArgs): StreamedAgentEvent[];
//# sourceMappingURL=compute-decision-deltas.d.ts.map