import { Observable } from './Observable'; import { Scheduler } from './Scheduler'; import { ConnectableObservable } from './observable/ConnectableObservable'; import { Subject } from './Subject'; import { GroupedObservable } from './operator/groupBy'; import { Notification } from './Notification'; import { CombineLatestSignature } from './operator/combineLatest'; import { WithLatestFromSignature } from './operator/withLatestFrom'; import { ZipSignature } from './operator/zip'; import { BufferSignature } from './operator/buffer'; import { BufferCountSignature } from './operator/bufferCount'; import { BufferTimeSignature } from './operator/bufferTime'; import { BufferToggleSignature } from './operator/bufferToggle'; import { BufferWhenSignature } from './operator/bufferWhen'; import { WindowSignature } from './operator/window'; import { WindowCountSignature } from './operator/windowCount'; import { WindowTimeSignature } from './operator/windowTime'; import { WindowToggleSignature } from './operator/windowToggle'; import { WindowWhenSignature } from './operator/windowWhen'; export interface CoreOperators { buffer: BufferSignature; bufferCount: BufferCountSignature; bufferTime: BufferTimeSignature; bufferToggle: BufferToggleSignature; bufferWhen: BufferWhenSignature; catch?: (selector: (err: any, source: Observable, caught: Observable) => Observable) => Observable; combineAll?: (project?: (...values: Array) => R) => Observable; combineLatest: CombineLatestSignature; 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) => 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; delayWhen?: (delayDurationSelector: (value: T) => Observable, subscriptionDelay?: Observable) => Observable; distinctUntilChanged?: (compare?: (x: T, y: T) => boolean) => Observable; do?: (next?: (x: T) => void, error?: (e: any) => void, complete?: () => void) => Observable; expand?: (project: (x: T, ix: number) => Observable, concurrent: number, scheduler: Scheduler) => Observable; filter?: (predicate: (x: T) => boolean, ix?: number, thisArg?: any) => Observable; finally?: (finallySelector: () => void) => Observable; first?: (predicate?: (value: T, index: number, source: Observable) => boolean, resultSelector?: (value: T, index: number) => R, 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; inspect?: (durationSelector: (value: T) => Observable | Promise) => Observable; inspectTime?: (delay: number, scheduler?: Scheduler) => Observable; last?: (predicate?: (value: T, index: number) => boolean, resultSelector?: (value: T, index: number) => R, 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?: (subjectOrSubjectFactory: Subject | (() => 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) => Observable; skip?: (count: number) => Observable; skipUntil?: (notifier: Observable) => Observable; skipWhile?: (predicate: (x: T, index: number) => boolean) => 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; takeLast?: (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: typeof Promise) => Promise; window: WindowSignature; windowCount: WindowCountSignature; windowTime: WindowTimeSignature; windowToggle: WindowToggleSignature; windowWhen: WindowWhenSignature; withLatestFrom: WithLatestFromSignature; zip: ZipSignature; zipAll?: (project?: (...values: Array) => R) => Observable; }