import {Middleware, Dispatch} from "redux"; export type ThunkAction = (dispatch: Dispatch, getState: () => S, extraArgument: E) => R; declare module "redux" { export interface Dispatch { (asyncAction: ThunkAction): R; } } declare const thunk: Middleware & { withExtraArgument(extraArgument: any): Middleware; }; export default thunk;