import { Subject } from '../Subject'; import { Operator } from '../Operator'; import { Subscriber } from '../Subscriber'; import { Observable } from '../Observable'; import { ConnectableObservable } from '../observable/ConnectableObservable'; import { OperatorFunction, UnaryFunction, ObservedValueOf, ObservableInput } from '../types'; export declare function multicast(subject: Subject): UnaryFunction, ConnectableObservable>; export declare function multicast>(subject: Subject, selector: (shared: Observable) => O): UnaryFunction, ConnectableObservable>>; export declare function multicast(subjectFactory: (this: Observable) => Subject): UnaryFunction, ConnectableObservable>; export declare function multicast>(SubjectFactory: (this: Observable) => Subject, selector: (shared: Observable) => O): OperatorFunction>; export declare class MulticastOperator implements Operator { private subjectFactory; private selector; constructor(subjectFactory: () => Subject, selector: (source: Observable) => Observable); call(subscriber: Subscriber, source: any): any; }