/// import { BehaviorSubject } from 'rxjs/BehaviorSubject'; import { ProvideContext, ProvideContextTypes } from './ContextWrapper'; import { TransitionFunction, TransitionFunctionFunction } from './transition'; import * as t from 'tcomb'; import { BrowserState, PathConfigs } from './browser'; import { StateT } from './StateT'; import { History } from 'history'; export declare type StateContextWrapper = React.ComponentType<{}>; export declare type StateSubject = BehaviorSubject; export declare type RunParams = { initialState: S; transitionReducer?: TransitionFunctionFunction; subscribe?: (state: S) => void; init?: (state: StateSubject, transition: TransitionFunction) => void; shouldSerializeKey?: (key: keyof S) => boolean; shouldBrowserPatchBePushedOrReplaced?: (oldState: S, newState: S) => boolean; provideContext?: { values: ProvideContext; types?: ProvideContextTypes; }; history?: History; paths?: PathConfigs; }; export declare type RunReturn = Promise; export declare type Run = (p: RunParams) => RunReturn; declare const _default: (stateType: t.Interface) => ({initialState, transitionReducer: _transitionReducer, subscribe, init, shouldSerializeKey, shouldBrowserPatchBePushedOrReplaced, provideContext, history, paths}: RunParams) => Promise>; export default _default;