import { Subscription } from "rxjs";
export { Subscription };
export declare type StreamSuccessHandler<T> = (result: T) => void;
export declare type StreamErrorHandler = (error: any) => void;
export interface ISubject<T> {
    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<T>(successHandler: StreamSuccessHandler<T>, errorHandler: StreamErrorHandler): ISubject<Promise<T>>;
