// @flow
import type { Sink, Scheduler, Source, Disposable } from 'most';
import { Stream } from 'most';
declare export default function multicast(s: Stream): Stream;
declare export class MulticastSource {
constructor(source: Source): MulticastSource;
run(sink: Sink, scheduler: Scheduler): Disposable;
add(sink: Sink): number;
remove(sink: Sink): number;
event(time: number, value: A): void;
end(time: number, value: A): void;
error(time: number, err: Error): void;
}