import { FC } from 'react'; declare type Reducer = (state: State, action?: Action) => State; declare type StateType = R extends Reducer ? S : any; declare type ActionType = R extends Reducer ? A : any; declare type ProviderProps = (A extends Reducer ? A : any) & { children: any; value?: any; } | any; declare type ConsumerProps = { children: (params: [StateType, (action: ActionType) => any]) => any; }; declare type Context = { Provider: FC>; Consumer: FC>; }; declare type StateInitializer = (p?: ProviderProps) => StateType; declare type StateModifier = (s: StateType, p?: Omit, 'children'>) => StateType; export declare function createReducerContext = any, S extends { _$events?: A[]; [k: string]: any; } = any, A extends { type: string; payload?: any; } = any, P = any>(reducer: R, initState: StateInitializer, updateState?: StateModifier): Context; export {};