// Type definitions for RxJS-Time v2.2.28 // Project: http://rx.codeplex.com/ // Definitions by: Carl de Billy , Igor Oleinikov // Definitions: https://github.com/borisyankov/DefinitelyTyped /// /// declare module Rx { export interface Observable { delaySubscription(dueTime: number, scheduler?: IScheduler): Observable; delayWithSelector(delayDurationSelector: (item: T) => number): Observable; delayWithSelector(subscriptionDelay: number, delayDurationSelector: (item: T) => number): Observable; timeoutWithSelector(firstTimeout: Observable, timeoutdurationSelector?: (item: T) => Observable, other?: Observable): Observable; throttleWithSelector(throttleDurationSelector: (item: T) => Observable): Observable; skipLastWithTime(duration: number, scheduler?: IScheduler): Observable; takeLastWithTime(duration: number, timerScheduler?: IScheduler, loopScheduler?: IScheduler): Observable; takeLastBufferWithTime(duration: number, scheduler?: IScheduler): Observable; takeWithTime(duration: number, scheduler?: IScheduler): Observable; skipWithTime(duration: number, scheduler?: IScheduler): Observable; skipUntilWithTime(startTime: Date, scheduler?: IScheduler): Observable; skipUntilWithTime(duration: number, scheduler?: IScheduler): Observable; takeUntilWithTime(endTime: Date, scheduler?: IScheduler): Observable; takeUntilWithTime(duration: number, scheduler?: IScheduler): Observable; windowWithTime(timeSpan: number, timeShift: number, scheduler?: IScheduler): Observable>; windowWithTime(timeSpan: number, scheduler?: IScheduler): Observable>; windowWithTimeOrCount(timeSpan: number, count: number, scheduler?: IScheduler): Observable>; bufferWithTime(timeSpan: number, timeShift: number, scheduler?: IScheduler): Observable; bufferWithTime(timeSpan: number, scheduler?: IScheduler): Observable; bufferWithTimeOrCount(timeSpan: number, count: number, scheduler?: IScheduler): Observable; } interface ObservableStatic { timer(dueTime: Date, period: number, scheduler?: IScheduler): Observable; timer(dueTime: Date, scheduler?: IScheduler): Observable; generateWithRelativeTime( initialState: TState, condition: (state: TState) => boolean, iterate: (state: TState) => TState, resultSelector: (state: TState) => TResult, timeSelector: (state: TState) => number, scheduler?: IScheduler): Observable; generateWithAbsoluteTime( initialState: TState, condition: (state: TState) => boolean, iterate: (state: TState) => TState, resultSelector: (state: TState) => TResult, timeSelector: (state: TState) => Date, scheduler?: IScheduler): Observable; } } declare module "rx.time" { export = Rx; }