import { Action } from 'redux-actions'; import { Observable } from 'rxjs'; import { MiddlewareAPI, Dispatch } from 'redux'; import { EffectModule } from './EffectModule'; export declare type UnpackPayload = T extends Function ? T extends () => any ? void : T extends (action$: infer U) => any ? U extends Observable ? P : void : T extends (action$: infer U, action: infer V) => any ? U extends Observable ? P : V extends Action ? Payload : void : void : T extends Observable ? K : void; export declare type ModuleDispatchProps> = { [key in keyof T]: UnpackPayload extends void ? () => Action : (payload: UnpackPayload) => Action>; } & { defaultState: never; }; export interface EpicLike { (action$: Observable, store?: MiddlewareAPI, dependencies?: any): Observable>; } export interface EpicAction { type: ActionType; payload: PayloadType; } export interface ReducerHandler { createActionPayloadCreator?: any; createActionMetaCreator?: any; }