/** * `AsyncQueue` — buffered async iterator helper. * * Producers `push` values; consumers `await next()` to receive them. Producers * call `close()` on clean termination or `fail(err)` on transport-level error. * * Single-consumer by design — every QAR task subscription owns one queue. If * you need fan-out, make N queues and push to each. */ export declare class AsyncQueue { private readonly buffer; private readonly waiters; private closed; private terminalError; /** Push a value to the queue. No-op once the queue is closed. */ push(value: T): void; /** * Mark the queue terminated cleanly. Pending and future `next()` calls * resolve with `{ done: true }` once the buffer drains. */ close(): void; /** * Mark the queue terminated with an error. The next `next()` call (or any * pending one) rejects with `err`. */ fail(err: Error): void; /** Whether the queue has been closed (cleanly or via `fail`). */ get isClosed(): boolean; /** Pull the next value. Resolves on push, rejects on fail, terminates on close+drain. */ next(): Promise>; } //# sourceMappingURL=iterator.d.ts.map