import { Subscription } from 'rxjs/Subscription'; import 'rxjs/add/operator/switchMap'; import 'rxjs/add/operator/catch'; export { Subscription }; export declare type StreamSuccessHandler = (result: T) => void; export declare type StreamErrorHandler = (error: any) => void; export interface ISubject { next: (promise: T) => void; unsubscribe: () => void; } /** * Creates infinite stream * Usage: * const subject = createSubject( * (result) => console.log('Success:', result), * (error) => console.error('Error:', error) * ); * subject.next(promise1); * subject.next(promise2); * * subject.unsubscribe(); * * @param successHandler * @param errorHandler */ export declare function createSubject(successHandler: StreamSuccessHandler, errorHandler: StreamErrorHandler): ISubject>;