import { Observable, ObservableInput } from '../Observable'; import { Operator } from '../Operator'; import { Subscriber } from '../Subscriber'; export declare function zipProto(...observables: Array | ((...values: Array) => R)>): Observable; export interface ZipSignature { (project: (v1: T) => R): Observable; (v2: ObservableInput, project: (v1: T, v2: T2) => R): Observable; (v2: ObservableInput, v3: ObservableInput, project: (v1: T, v2: T2, v3: T3) => R): Observable; (v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, project: (v1: T, v2: T2, v3: T3, v4: T4) => R): Observable; (v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => R): Observable; (v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, v6: ObservableInput, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => R): Observable; (v2: ObservableInput): Observable<[T, T2]>; (v2: ObservableInput, v3: ObservableInput): Observable<[T, T2, T3]>; (v2: ObservableInput, v3: ObservableInput, v4: ObservableInput): Observable<[T, T2, T3, T4]>; (v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput): Observable<[T, T2, T3, T4, T5]>; (v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, v6: ObservableInput): Observable<[T, T2, T3, T4, T5, T6]>; (...observables: Array | ((...values: Array) => R)>): Observable; (array: ObservableInput[]): Observable; (array: ObservableInput[], project: (...values: Array) => R): Observable; } export declare function zipStatic(v1: ObservableInput): Observable<[T]>; export declare function zipStatic(v1: ObservableInput, v2: ObservableInput): Observable<[T, T2]>; export declare function zipStatic(v1: ObservableInput, v2: ObservableInput, v3: ObservableInput): Observable<[T, T2, T3]>; export declare function zipStatic(v1: ObservableInput, v2: ObservableInput, v3: ObservableInput, v4: ObservableInput): Observable<[T, T2, T3, T4]>; export declare function zipStatic(v1: ObservableInput, v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput): Observable<[T, T2, T3, T4, T5]>; export declare function zipStatic(v1: ObservableInput, v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, v6: ObservableInput): Observable<[T, T2, T3, T4, T5, T6]>; export declare function zipStatic(v1: ObservableInput, project: (v1: T) => R): Observable; export declare function zipStatic(v1: ObservableInput, v2: ObservableInput, project: (v1: T, v2: T2) => R): Observable; export declare function zipStatic(v1: ObservableInput, v2: ObservableInput, v3: ObservableInput, project: (v1: T, v2: T2, v3: T3) => R): Observable; export declare function zipStatic(v1: ObservableInput, v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, project: (v1: T, v2: T2, v3: T3, v4: T4) => R): Observable; export declare function zipStatic(v1: ObservableInput, v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => R): Observable; export declare function zipStatic(v1: ObservableInput, v2: ObservableInput, v3: ObservableInput, v4: ObservableInput, v5: ObservableInput, v6: ObservableInput, project: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => R): Observable; export declare function zipStatic(...observables: Array | ((...values: Array) => R)>): Observable; export declare function zipStatic(array: ObservableInput[]): Observable; export declare function zipStatic(array: ObservableInput[], project: (...values: Array) => R): Observable; export declare class ZipOperator implements Operator { project: (...values: Array) => R; constructor(project?: (...values: Array) => R); call(subscriber: Subscriber): Subscriber; } export declare class ZipSubscriber extends Subscriber { private index; private values; private project; private iterators; private active; constructor(destination: Subscriber, project?: (...values: Array) => R, values?: any); protected _next(value: any): void; protected _complete(): void; notifyInactive(): void; checkIterators(): void; protected _tryProject(args: any[]): void; }