import { Observable } from '../Observable'; /** * Returns a new Observable that multicasts (shares) the original Observable. As long as there is at least one * Subscriber this Observable will be subscribed and emitting data. When all subscribers have unsubscribed it will * unsubscribe from the source Observable. Because the Observable is multicasting it makes the stream `hot`. * * This behaves similarly to .publish().refCount(), with a behavior difference when the source observable emits complete. * .publish().refCount() will not resubscribe to the original source, however .share() will resubscribe to the original source. * Observable.of("test").publish().refCount() will not re-emit "test" on new subscriptions, Observable.of("test").share() will * re-emit "test" to new subscriptions. * * * * @return {Observable} An Observable that upon connection causes the source Observable to emit items to its Observers. * @method share * @owner Observable */ export declare function share(this: Observable): Observable;