import { Middleware, MiddlewareAPI } from 'redux'; import { Observable, ObservableInput } from 'rxjs/Observable'; import { Scheduler } from 'rxjs/Scheduler'; import { Operator } from 'rxjs/Operator'; export declare class ActionsObservable extends Observable { /** * Just like RxJS itself, we can't actually make this method always type-safe * because we would need non-final position spread params e.g. * `static of(...items: T, scheduler?: Scheduler): ActionsObservable` * which isn't possible in either JavaScript or TypeScript. So instead, we * provide safe typing for up to 6 items, following by a scheduler. */ static of(item1: T, scheduler?: Scheduler): ActionsObservable; static of(item1: T, item2: T, scheduler?: Scheduler): ActionsObservable; static of(item1: T, item2: T, item3: T, scheduler?: Scheduler): ActionsObservable; static of(item1: T, item2: T, item3: T, item4: T, scheduler?: Scheduler): ActionsObservable; static of(item1: T, item2: T, item3: T, item4: T, item5: T, scheduler?: Scheduler): ActionsObservable; static of(item1: T, item2: T, item3: T, item4: T, item5: T, item6: T, scheduler?: Scheduler): ActionsObservable; static of(...array: Array): ActionsObservable; static from(ish: ObservableInput, scheduler?: Scheduler): ActionsObservable; static from(ish: ArrayLike, scheduler?: Scheduler): ActionsObservable; constructor(input$: Observable); lift(operator: Operator): ActionsObservable; ofType(...key: string[]): ActionsObservable; ofType(...key: any[]): ActionsObservable; } export declare interface Epic { (action$: ActionsObservable, store: MiddlewareAPI): Observable; } export interface EpicMiddleware extends Middleware { replaceEpic(nextEpic: Epic): void; } interface Adapter { input: (input$: Observable) => any; output: (output$: any) => Observable; } interface Options { adapter?: Adapter; dependencies?: { [key: string]: any } | any; } export declare function createEpicMiddleware(rootEpic: Epic, options?: Options): EpicMiddleware; export declare function combineEpics(...epics: Epic[]): Epic; export declare function combineEpics(...epics: E[]): E;