import Balancer from './Balancer';
/**
* 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 {
readonly receivers: Set>;
/**
* Pushes a value to all registered receivers.
*/
push(value: A): this;
/**
* Pushes multiple values.
*/
pushMany(values: A[]): this;
/**
* Creates and registers a receiver.
*/
[Symbol.asyncIterator](): AsyncIterableIterator;
}