import { PushAdapter } from '../common'; /** * Multicasts pushed values to a variable number of async iterable iterators * as receivers or subscribers. * * Does not buffer pushed values; if no receivers are registered, pushed * values are silently discarded. */ export default class Multicast implements AsyncIterable { private readonly init; onStart?(): void; onStop?(): void; readonly receivers: Set>; constructor(init?: () => PushAdapter); /** * Pushes a value to all registered receivers. */ push(value: A): this; /** * Creates and registers a receiver. */ [Symbol.asyncIterator](): AsyncIterableIterator; }