import type { ProviderEvent } from '../../../provider.js'; import type { RunTurnInput } from '../types.js'; import type { FirstByteTimeoutHandle } from '../../shared/first-byte-timeout.js'; import { type StreamStallHandle } from '../../shared/stream-stall-timeout.js'; import type { RoundRetryBudget } from './retry-budget.js'; import type { RoundOutcome } from './outcomes.js'; import type { TurnAccumulator } from './turn-accumulator.js'; export interface StreamConsumerContext { events: AsyncIterable; input: RunTurnInput; turn: TurnAccumulator; retry: RoundRetryBudget; ttfb: FirstByteTimeoutHandle; stall: StreamStallHandle; stallTimeoutMs: number; requestStartedAt: number; } export declare function consumeRoundStream({ events, input, turn, retry, ttfb, stall, stallTimeoutMs, requestStartedAt, }: StreamConsumerContext): AsyncGenerator;