/**
 * Pure helper: compute `PhaseCompleted` events from phase timing rows.
 *
 * Timing rows only appear after a phase finishes, so any row with a
 * `completedAt` that isn't already in the cached set means we just finished
 * that phase. Mutates `prev.completedPhases` in place.
 */
import type { AgentRun, Feature, PhaseTiming } from '../../../../domain/generated/output.js';
import type { CachedFeatureState, StreamedAgentEvent } from './stream-agent-events.types.js';
export interface ComputePhaseCompletionDeltasArgs {
    feature: Feature;
    run: AgentRun;
    prev: CachedFeatureState;
    timings: PhaseTiming[];
}
export declare function computePhaseCompletionDeltas(args: ComputePhaseCompletionDeltasArgs): StreamedAgentEvent[];
//# sourceMappingURL=compute-phase-completion-deltas.d.ts.map