import { RouterState, EnterHook } from "react-router"; import { ChangeHook } from "react-router/lib/Router"; import { IReduxAction } from "./actions"; import { Store } from "redux"; /** Describes a function that provides a Redux Action to be dispatched on a React Router enter hook */ export interface IRouteEnterHookAction { (nextState: RouterState, state?: TState): IReduxAction; } /** Describes a function that provides a Redux Action to be dispatched on a React Router change hook */ export interface IRouteChangeHookAction { (previousState: RouterState, nextState: RouterState, state?: TState): IReduxAction; } /** Describes a function that provides a React Router hook for route modifications */ export interface IRouteHookProvider { (store: Store, waitForPromises: boolean): THook; } /** Describes a function that provides a React Router enter hook */ export interface IRouteEnterHookProvider extends IRouteHookProvider { } /** Describes a function that provides a React Router change hook */ export interface IRouteChangeHookProvider extends IRouteHookProvider { } /** Create a React Router Route Enter Hook Provider */ export declare function createRouteEnterHookProvider(...promiseActions: IRouteEnterHookAction[]): IRouteEnterHookProvider; /** Create a React Router Route Change Hook Provider */ export declare function createRouteChangeHookProvider(...promiseActions: IRouteChangeHookAction[]): IRouteChangeHookProvider;