import { Subject } from '../Subject'; import { Operator } from '../Operator'; import { Subscriber } from '../Subscriber'; import { Observable } from '../Observable'; import { ConnectableObservable } from '../observable/ConnectableObservable'; export declare function multicast(this: Observable, subjectOrSubjectFactory: factoryOrValue>): ConnectableObservable; export declare function multicast(SubjectFactory: (this: Observable) => Subject, selector?: selector): Observable; export declare type factoryOrValue = T | (() => T); export declare type selector = (source: Observable) => Observable; export declare class MulticastOperator implements Operator { private subjectFactory; private selector; constructor(subjectFactory: () => Subject, selector: (source: Observable) => Observable); call(subscriber: Subscriber, source: any): any; }