import React from 'react'; import { Action, Store } from 'redux'; import { Route } from './interfaces/router'; import { ClientReducersMapObject, Store as CoreStore } from './interfaces/store'; import { Location } from 'history'; import { Epic } from './actions/actions'; import { AxiosInstance } from 'axios'; import { Resource, i18n } from 'i18next'; export interface ProviderProps { children: React.ReactNode; customReducers?: ClientReducersMapObject; customActions?: any; customEpics?: any; axiosInstance?: AxiosInstance; parseLocation?: (loc: Location) => Route; buildLocation?: (route: Route) => string; useEpics?: boolean; lang?: string; langDictionary?: Resource; } export declare let store: Store; export declare let axiosInstance: AxiosInstance; export declare let parseLocation: (loc: Location) => Route; export declare let buildLocation: (route: Route) => string; export declare let localeProviderInstance: i18n; /** * TODO */ export declare function getStoreInstance(): Store; /** * TODO * * @param storeInstance */ export declare function setStoreInstance(storeInstance: Store): void; /** * TODO */ export declare function getParseLocationInstance(): (loc: Location) => Route; /** * TODO */ export declare function getBuildLocationInstance(): (route: Route) => string; /** * TODO */ export declare function getLocaleProviderInstance(): i18n; /** * TODO * * @param customReducers * @param customEpics * @param useEpics */ export declare function configureStore>(customReducers?: ClientReducersMapObject, customEpics?: Epic, useEpics?: boolean): Store; declare const Provider: , ClientActions extends Action>(props: ProviderProps) => JSX.Element; /** * TODO: Extract into separate module * @param loc */ export declare function defaultParseLocation(loc: Location): Route; export default Provider;