/// declare namespace Rx { interface ObservableStatic { /** * Invokes the asynchronous function, surfacing the result through an observable sequence. * @param functionAsync Asynchronous function which returns a Promise to run. * @returns An observable sequence exposing the function's result value, or an exception. */ startAsync(functionAsync: () => IPromise): Observable; start(func: () => T, context?: any, scheduler?: IScheduler): Observable; toAsync(func: () => TResult, context?: any, scheduler?: IScheduler): () => Observable; toAsync( func: (arg1: T1) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1) => Observable; toAsync( func: (arg1?: T1) => TResult, context?: any, scheduler?: IScheduler, ): (arg1?: T1) => Observable; toAsync( func: (...args: T1[]) => TResult, context?: any, scheduler?: IScheduler, ): (...args: T1[]) => Observable; toAsync( func: (arg1: T1, arg2: T2) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, arg2: T2) => Observable; toAsync( func: (arg1: T1, arg2?: T2) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, arg2?: T2) => Observable; toAsync( func: (arg1?: T1, arg2?: T2) => TResult, context?: any, scheduler?: IScheduler, ): (arg1?: T1, arg2?: T2) => Observable; toAsync( func: (arg1: T1, ...args: T2[]) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, ...args: T2[]) => Observable; toAsync( func: (arg1?: T1, ...args: T2[]) => TResult, context?: any, scheduler?: IScheduler, ): (arg1?: T1, ...args: T2[]) => Observable; toAsync( func: (arg1: T1, arg2: T2, arg3: T3) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, arg2: T2, arg3: T3) => Observable; toAsync( func: (arg1: T1, arg2: T2, arg3?: T3) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, arg2: T2, arg3?: T3) => Observable; toAsync( func: (arg1: T1, arg2?: T2, arg3?: T3) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, arg2?: T2, arg3?: T3) => Observable; toAsync( func: (arg1?: T1, arg2?: T2, arg3?: T3) => TResult, context?: any, scheduler?: IScheduler, ): (arg1?: T1, arg2?: T2, arg3?: T3) => Observable; toAsync( func: (arg1: T1, arg2: T2, ...args: T3[]) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, arg2: T2, ...args: T3[]) => Observable; toAsync( func: (arg1: T1, arg2?: T2, ...args: T3[]) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, arg2?: T2, ...args: T3[]) => Observable; toAsync( func: (arg1?: T1, arg2?: T2, ...args: T3[]) => TResult, context?: any, scheduler?: IScheduler, ): (arg1?: T1, arg2?: T2, ...args: T3[]) => Observable; toAsync( func: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Observable; toAsync( func: (arg1: T1, arg2: T2, arg3: T3, arg4?: T4) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, arg2: T2, arg3: T3, arg4?: T4) => Observable; toAsync( func: (arg1: T1, arg2: T2, arg3?: T3, arg4?: T4) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, arg2: T2, arg3?: T3, arg4?: T4) => Observable; toAsync( func: (arg1: T1, arg2?: T2, arg3?: T3, arg4?: T4) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, arg2?: T2, arg3?: T3, arg4?: T4) => Observable; toAsync( func: (arg1?: T1, arg2?: T2, arg3?: T3, arg4?: T4) => TResult, context?: any, scheduler?: IScheduler, ): (arg1?: T1, arg2?: T2, arg3?: T3, arg4?: T4) => Observable; toAsync( func: (arg1: T1, arg2: T2, arg3: T3, ...args: T4[]) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, arg2: T2, arg3: T3, ...args: T4[]) => Observable; toAsync( func: (arg1: T1, arg2: T2, arg3?: T3, ...args: T4[]) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, arg2: T2, arg3?: T3, ...args: T4[]) => Observable; toAsync( func: (arg1: T1, arg2?: T2, arg3?: T3, ...args: T4[]) => TResult, context?: any, scheduler?: IScheduler, ): (arg1: T1, arg2?: T2, arg3?: T3, ...args: T4[]) => Observable; toAsync( func: (arg1?: T1, arg2?: T2, arg3?: T3, ...args: T4[]) => TResult, context?: any, scheduler?: IScheduler, ): (arg1?: T1, arg2?: T2, arg3?: T3, ...args: T4[]) => Observable; } } declare module "rx-lite-async" { export = Rx; }