1import { Observable } from '../Observable'; 2import { Operator } from '../Operator'; 3import { Subscriber } from '../Subscriber'; 4import { TeardownLogic, ObservableInput } from '../types'; 5import { OuterSubscriber } from '../OuterSubscriber'; 6import { InnerSubscriber } from '../InnerSubscriber'; 7export declare function race<A>(arg: [ObservableInput<A>]): Observable<A>; 8export declare function race<A, B>(arg: [ObservableInput<A>, ObservableInput<B>]): Observable<A | B>; 9export declare function race<A, B, C>(arg: [ObservableInput<A>, ObservableInput<B>, ObservableInput<C>]): Observable<A | B | C>; 10export declare function race<A, B, C, D>(arg: [ObservableInput<A>, ObservableInput<B>, ObservableInput<C>, ObservableInput<D>]): Observable<A | B | C | D>; 11export declare function race<A, B, C, D, E>(arg: [ObservableInput<A>, ObservableInput<B>, ObservableInput<C>, ObservableInput<D>, ObservableInput<E>]): Observable<A | B | C | D | E>; 12export declare function race<T>(arg: ObservableInput<T>[]): Observable<T>; 13export declare function race(arg: ObservableInput<any>[]): Observable<{}>; 14export declare function race<A>(a: ObservableInput<A>): Observable<A>; 15export declare function race<A, B>(a: ObservableInput<A>, b: ObservableInput<B>): Observable<A | B>; 16export declare function race<A, B, C>(a: ObservableInput<A>, b: ObservableInput<B>, c: ObservableInput<C>): Observable<A | B | C>; 17export declare function race<A, B, C, D>(a: ObservableInput<A>, b: ObservableInput<B>, c: ObservableInput<C>, d: ObservableInput<D>): Observable<A | B | C | D>; 18export declare function race<A, B, C, D, E>(a: ObservableInput<A>, b: ObservableInput<B>, c: ObservableInput<C>, d: ObservableInput<D>, e: ObservableInput<E>): Observable<A | B | C | D | E>; 19export declare function race<T>(observables: ObservableInput<T>[]): Observable<T>; 20export declare function race(observables: ObservableInput<any>[]): Observable<{}>; 21export declare function race<T>(...observables: ObservableInput<T>[]): Observable<T>; 22export declare function race(...observables: ObservableInput<any>[]): Observable<{}>; 23export declare class RaceOperator<T> implements Operator<T, T> { 24 call(subscriber: Subscriber<T>, source: any): TeardownLogic; 25} 26/** 27 * We need this JSDoc comment for affecting ESDoc. 28 * @ignore 29 * @extends {Ignored} 30 */ 31export declare class RaceSubscriber<T> extends OuterSubscriber<T, T> { 32 private hasFirst; 33 private observables; 34 private subscriptions; 35 constructor(destination: Subscriber<T>); 36 protected _next(observable: any): void; 37 protected _complete(): void; 38 notifyNext(outerValue: T, innerValue: T, outerIndex: number, innerIndex: number, innerSub: InnerSubscriber<T, T>): void; 39} 40