import { Observable } from './Observable'; import { Scheduler } from './Scheduler'; import { ConnectableObservable } from './observable/ConnectableObservable'; import { Subject } from './Subject'; import { GroupedObservable } from './operator/groupBy-support'; import { Notification } from './Notification'; export interface CoreOperators { buffer?: (closingNotifier: Observable) => Observable; bufferCount?: (bufferSize: number, startBufferEvery: number) => Observable; bufferTime?: (bufferTimeSpan: number, bufferCreationInterval?: number, scheduler?: Scheduler) => Observable; bufferToggle?: (openings: Observable, closingSelector?: (openValue: O) => Observable) => Observable; bufferWhen?: (closingSelector: () => Observable) => Observable; catch?: (selector: (err: any, source: Observable, caught: Observable) => Observable) => Observable; combineAll?: (project?: (...values: Array) => R) => Observable; combineLatest?: (...observables: Array | ((...values: Array) => R)>) => Observable; concat?: (...observables: (Observable | Scheduler)[]) => Observable; concatAll?: () => Observable; concatMap?: (project: ((x: T, ix: number) => Observable), projectResult?: (x: T, y: any, ix: number, iy: number) => R) => Observable; concatMapTo?: (observable: Observable, projectResult?: (x: T, y: any, ix: number, iy: number) => R) => Observable; count?: (predicate?: (value: T, index: number, source: Observable) => boolean, thisArg?: any) => Observable; dematerialize?: () => Observable; debounce?: (durationSelector: (value: T) => Observable | Promise) => Observable; debounceTime?: (dueTime: number, scheduler?: Scheduler) => Observable; defaultIfEmpty?: (defaultValue?: T | R) => Observable | Observable; delay?: (delay: number, scheduler?: Scheduler) => Observable; distinctUntilChanged?: (compare?: (x: T, y: T) => boolean, thisArg?: any) => Observable; do?: (next?: (x: T) => void, error?: (e: any) => void, complete?: () => void) => Observable; expand?: (project: (x: T, ix: number) => Observable) => Observable; filter?: (predicate: (x: T) => boolean, ix?: number, thisArg?: any) => Observable; finally?: (ensure: () => void, thisArg?: any) => Observable; first?: (predicate?: (value: T, index: number, source: Observable) => boolean, resultSelector?: (value: T, index: number) => R, thisArg?: any, defaultValue?: any) => Observable | Observable; flatMap?: (project: ((x: T, ix: number) => Observable), projectResult?: (x: T, y: any, ix: number, iy: number) => R, concurrent?: number) => Observable; flatMapTo?: (observable: Observable, projectResult?: (x: T, y: any, ix: number, iy: number) => R, concurrent?: number) => Observable; groupBy?: (keySelector: (value: T) => string, elementSelector?: (value: T) => R, durationSelector?: (group: GroupedObservable) => Observable) => Observable>; ignoreElements?: () => Observable; last?: (predicate?: (value: T, index: number) => boolean, resultSelector?: (value: T, index: number) => R, thisArg?: any, defaultValue?: any) => Observable | Observable; every?: (predicate: (value: T, index: number) => boolean, thisArg?: any) => Observable; map?: (project: (x: T, ix?: number) => R, thisArg?: any) => Observable; mapTo?: (value: R) => Observable; materialize?: () => Observable>; merge?: (...observables: any[]) => Observable; mergeAll?: (concurrent?: number) => Observable; mergeMap?: (project: ((x: T, ix: number) => Observable), projectResult?: (x: T, y: any, ix: number, iy: number) => R, concurrent?: number) => Observable; mergeMapTo?: (observable: Observable, projectResult?: (x: T, y: any, ix: number, iy: number) => R, concurrent?: number) => Observable; multicast?: (subjectFactory: () => Subject) => ConnectableObservable; observeOn?: (scheduler: Scheduler, delay?: number) => Observable; partition?: (predicate: (x: T) => boolean) => Observable[]; publish?: () => ConnectableObservable; publishBehavior?: (value: any) => ConnectableObservable; publishReplay?: (bufferSize?: number, windowTime?: number, scheduler?: Scheduler) => ConnectableObservable; publishLast?: () => ConnectableObservable; reduce?: (project: (acc: R, x: T) => R, seed?: R) => Observable; repeat?: (count?: number) => Observable; retry?: (count?: number) => Observable; retryWhen?: (notifier: (errors: Observable) => Observable) => Observable; sample?: (notifier: Observable) => Observable; sampleTime?: (delay: number, scheduler?: Scheduler) => Observable; scan?: (project: (acc: R, x: T) => R, acc?: R) => Observable; share?: () => Observable; single?: (predicate?: (value: T, index: number) => boolean, thisArg?: any) => Observable; skip?: (count: number) => Observable; skipUntil?: (notifier: Observable) => Observable; skipWhile?: (predicate: (x: T, index: number) => boolean, thisArg?: any) => Observable; startWith?: (x: T) => Observable; subscribeOn?: (scheduler: Scheduler, delay?: number) => Observable; switch?: () => Observable; switchMap?: (project: ((x: T, ix: number) => Observable), projectResult?: (x: T, y: any, ix: number, iy: number) => R) => Observable; switchMapTo?: (observable: Observable, projectResult?: (x: T, y: any, ix: number, iy: number) => R) => Observable; take?: (count: number) => Observable; takeUntil?: (notifier: Observable) => Observable; takeWhile?: (predicate: (value: T, index: number) => boolean) => Observable; throttle?: (durationSelector: (value: T) => Observable | Promise) => Observable; throttleTime?: (delay: number, scheduler?: Scheduler) => Observable; timeout?: (due: number | Date, errorToSend?: any, scheduler?: Scheduler) => Observable; timeoutWith?: (due: number | Date, withObservable: Observable, scheduler?: Scheduler) => Observable | Observable; toArray?: () => Observable; toPromise?: (PromiseCtor: PromiseConstructor) => Promise; window?: (closingNotifier: Observable) => Observable>; windowCount?: (windowSize: number, startWindowEvery: number) => Observable>; windowTime?: (windowTimeSpan: number, windowCreationInterval?: number, scheduler?: Scheduler) => Observable>; windowToggle?: (openings: Observable, closingSelector?: (openValue: O) => Observable) => Observable>; windowWhen?: (closingSelector: () => Observable) => Observable>; withLatestFrom?: (...observables: Array | ((...values: Array) => R)>) => Observable; zip?: (...observables: Array | ((...values: Array) => R)>) => Observable; zipAll?: (project?: (...values: Array) => R) => Observable; }