import { Action, AnyAction, Middleware, Reducer, Store } from 'redux'; import { Context, ReactNode } from 'react'; import { Persistor } from 'redux-persist'; import { ReactReduxContextValue } from 'react-redux'; export interface Reducers { [key: string]: Reducer; } export interface ProviderContext { store: Store; } export interface ProviderProps { children?: ReactNode | ((bootstrapped: boolean) => ReactNode); context?: Context; defaultState?: object; loading?: ReactNode; middlewares?: Middleware[]; onBeforeLift?(): void | Promise; onReady?(store: Store, persistor?: Persistor): any; options?: object; persistor?: Persistor; reducers?: Reducers; store?: Store; } export declare type StoreContext = React.Context>; export declare type Provider = any;