2 import { Subscription } from './Subscription';
3 import { Subscriber } from './Subscriber';
4 interface SimpleOuterSubscriberLike<T> {
6 * A handler for inner next notifications from the inner subscription
7 * @param innerValue the value nexted by the inner producer
9 notifyNext(innerValue: T): void;
11 * A handler for inner error notifications from the inner subscription
12 * @param err the error from the inner producer
14 notifyError(err: any): void;
16 * A handler for inner complete notifications from the inner subscription.
18 notifyComplete(): void;
20 export declare class SimpleInnerSubscriber<T> extends Subscriber<T> {
22 constructor(parent: SimpleOuterSubscriberLike<any>);
23 protected _next(value: T): void;
24 protected _error(error: any): void;
25 protected _complete(): void;
27 export declare class ComplexInnerSubscriber<T, R> extends Subscriber<R> {
31 constructor(parent: ComplexOuterSubscriber<T, R>, outerValue: T, outerIndex: number);
32 protected _next(value: R): void;
33 protected _error(error: any): void;
34 protected _complete(): void;
36 export declare class SimpleOuterSubscriber<T, R> extends Subscriber<T> implements SimpleOuterSubscriberLike<R> {
37 notifyNext(innerValue: R): void;
38 notifyError(err: any): void;
39 notifyComplete(): void;
42 * DO NOT USE (formerly "OuterSubscriber")
43 * TODO: We want to refactor this and remove it. It is retaining values it shouldn't for long
46 export declare class ComplexOuterSubscriber<T, R> extends Subscriber<T> {
48 * @param _outerValue Used by: bufferToggle, delayWhen, windowToggle
49 * @param innerValue Used by: subclass default, combineLatest, race, bufferToggle, windowToggle, withLatestFrom
50 * @param _outerIndex Used by: combineLatest, race, withLatestFrom
51 * @param _innerSub Used by: delayWhen
53 notifyNext(_outerValue: T, innerValue: R, _outerIndex: number, _innerSub: ComplexInnerSubscriber<T, R>): void;
54 notifyError(error: any): void;
56 * @param _innerSub Used by: race, bufferToggle, delayWhen, windowToggle, windowWhen
58 notifyComplete(_innerSub: ComplexInnerSubscriber<T, R>): void;
60 export declare function innerSubscribe(result: any, innerSubscriber: Subscriber<any>): Subscription | undefined;