import { Middleware, Dispatch, GetState } from './types'; export interface Delegate { (dispatch: Dispatch, getState: GetState, extraArgument: E): R; } export interface Thunk { (state: S): Delegate; } declare module './types' { interface Dispatch { (thunk: Thunk): R; } } export interface ThunkMiddleware extends Middleware { withExtraArgument: (extraArgument: EA) => ThunkMiddleware; } export declare const thunk: ThunkMiddleware<{}>;