import { Subject } from './Subject'; import { Observable } from './Observable'; import { CoreOperators } from './CoreOperators'; import { Scheduler as IScheduler } from './Scheduler'; export interface KitchenSinkOperators extends CoreOperators { isEmpty?: () => Observable; elementAt?: (index: number, defaultValue?: any) => Observable; distinctUntilKeyChanged?: (key: string, compare?: (x: any, y: any) => boolean, thisArg?: any) => Observable; find?: (predicate: (value: T, index: number, source: Observable) => boolean, thisArg?: any) => Observable; findIndex?: (predicate: (value: T, index: number, source: Observable) => boolean, thisArg?: any) => Observable; max?: (comparer?: (x: R, y: T) => R) => Observable; min?: (comparer?: (x: R, y: T) => R) => Observable; timeInterval?: (scheduler?: IScheduler) => Observable; mergeScan?: (project: (acc: R, x: T) => Observable, seed: R, concurrent?: number) => Observable; switchFirst?: () => Observable; switchMapFirst?: (project: ((x: T, ix: number) => Observable), projectResult?: (x: T, y: any, ix: number, iy: number) => R) => Observable; } import { Subscription } from './Subscription'; import { Subscriber } from './Subscriber'; import { AsyncSubject } from './subject/AsyncSubject'; import { ReplaySubject } from './subject/ReplaySubject'; import { BehaviorSubject } from './subject/BehaviorSubject'; import { ConnectableObservable } from './observable/ConnectableObservable'; import { Notification } from './Notification'; import { EmptyError } from './util/EmptyError'; import { ArgumentOutOfRangeError } from './util/ArgumentOutOfRangeError'; import { NextTickScheduler } from './scheduler/NextTickScheduler'; import { ImmediateScheduler } from './scheduler/ImmediateScheduler'; import { TimeInterval } from './operator/extended/timeInterval'; import { TestScheduler } from './testing/TestScheduler'; import { VirtualTimeScheduler } from './scheduler/VirtualTimeScheduler'; declare var Scheduler: { nextTick: NextTickScheduler; immediate: ImmediateScheduler; }; export { Subject, Scheduler, Observable, Subscriber, Subscription, AsyncSubject, ReplaySubject, BehaviorSubject, ConnectableObservable, Notification, EmptyError, ArgumentOutOfRangeError, TestScheduler, VirtualTimeScheduler, TimeInterval };