/** * Async FIFO queue with `for await` support. * * Replaces the ad-hoc `eventQueue + resolveWaiting` single-slot pattern that * the streaming direct turn used to manage run events. The previous pattern was * lossy if two pushes landed before the single waiter resumed; this queue keeps * the buffer growing until consumed, and closes cleanly so the iterator drains. */ export declare class AsyncQueue implements AsyncIterable { private readonly buffer; private readonly waiters; private closed; /** Push a value to the queue. No-op when the queue is closed. */ push(value: T): void; /** Close the queue. Pending iterators drain any buffered values and then complete. */ close(): void; /** True if the queue is closed and the internal buffer is drained. */ get isDrained(): boolean; [Symbol.asyncIterator](): AsyncIterator; }