import { Observable, SchedulerLike, bindCallback } from 'rxjs'; export class BoundCallbackObservable extends Observable { /* tslint:disable:max-line-length */ static create(callbackFunc: (callback: () => any) => any, selector?: void, scheduler?: SchedulerLike): () => Observable; static create(callbackFunc: (callback: (result: R) => any) => any, selector?: void, scheduler?: SchedulerLike): () => Observable; static create(callbackFunc: (v1: T, callback: (result: R) => any) => any, selector?: void, scheduler?: SchedulerLike): (v1: T) => Observable; static create(callbackFunc: (v1: T, v2: T2, callback: (result: R) => any) => any, selector?: void, scheduler?: SchedulerLike): (v1: T, v2: T2) => Observable; static create(callbackFunc: (v1: T, v2: T2, v3: T3, callback: (result: R) => any) => any, selector?: void, scheduler?: SchedulerLike): (v1: T, v2: T2, v3: T3) => Observable; static create(callbackFunc: (v1: T, v2: T2, v3: T3, v4: T4, callback: (result: R) => any) => any, selector?: void, scheduler?: SchedulerLike): (v1: T, v2: T2, v3: T3, v4: T4) => Observable; static create(callbackFunc: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, callback: (result: R) => any) => any, selector?: void, scheduler?: SchedulerLike): (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => Observable; static create(callbackFunc: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, callback: (result: R) => any) => any, selector?: void, scheduler?: SchedulerLike): (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => Observable; static create(callbackFunc: (callback: (...args: any[]) => any) => any, selector: (...args: any[]) => R, scheduler?: SchedulerLike): () => Observable; static create(callbackFunc: (v1: T, callback: (...args: any[]) => any) => any, selector: (...args: any[]) => R, scheduler?: SchedulerLike): (v1: T) => Observable; static create(callbackFunc: (v1: T, v2: T2, callback: (...args: any[]) => any) => any, selector: (...args: any[]) => R, scheduler?: SchedulerLike): (v1: T, v2: T2) => Observable; static create(callbackFunc: (v1: T, v2: T2, v3: T3, callback: (...args: any[]) => any) => any, selector: (...args: any[]) => R, scheduler?: SchedulerLike): (v1: T, v2: T2, v3: T3) => Observable; static create(callbackFunc: (v1: T, v2: T2, v3: T3, v4: T4, callback: (...args: any[]) => any) => any, selector: (...args: any[]) => R, scheduler?: SchedulerLike): (v1: T, v2: T2, v3: T3, v4: T4) => Observable; static create(callbackFunc: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, callback: (...args: any[]) => any) => any, selector: (...args: any[]) => R, scheduler?: SchedulerLike): (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => Observable; static create(callbackFunc: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, callback: (...args: any[]) => any) => any, selector: (...args: any[]) => R, scheduler?: SchedulerLike): (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => Observable; static create(callbackFunc: Function, selector?: void, scheduler?: SchedulerLike): (...args: any[]) => Observable; static create(callbackFunc: Function, selector?: (...args: any[]) => T, scheduler?: SchedulerLike): (...args: any[]) => Observable; /* tslint:enable:max-line-length */ static create(func: Function, selector: Function | void = undefined, scheduler?: SchedulerLike): (...args: any[]) => Observable { return bindCallback(func, selector, scheduler); } }