// flow-typed signature: c5fac64666f9589a0c1b2de956dc7919 // flow-typed version: 81d6274128/react-redux_v5.x.x/flow_>=v0.53.x // flow-typed signature: 8db7b853f57c51094bf0ab8b2650fd9c // flow-typed version: ab8db5f14d/react-redux_v5.x.x/flow_>=v0.30.x import type { Dispatch, Store } from "redux"; declare module "react-redux" { /* S = State A = Action OP = OwnProps SP = StateProps DP = DispatchProps */ declare type MapStateToProps = ( state: S, ownProps: OP ) => SP | MapStateToProps; declare type MapDispatchToProps = | ((dispatch: Dispatch, ownProps: OP) => DP) | DP; declare type MergeProps = ( stateProps: SP, dispatchProps: DP, ownProps: OP ) => P; declare type Context = { store: Store<*, *> }; declare class ConnectedComponent extends React$Component { static WrappedComponent: Class>, getWrappedInstance(): React$Component

, props: OP, state: void } declare type ConnectedComponentClass = Class< ConnectedComponent >; declare type Connector = ( component: React$ComponentType

) => ConnectedComponentClass; declare class Provider extends React$Component<{ store: Store, children?: any }> {} declare function createProvider( storeKey?: string, subKey?: string ): Provider<*, *>; declare type ConnectOptions = { pure?: boolean, withRef?: boolean }; declare type Null = null | void; declare function connect( ...rest: Array // <= workaround for https://github.com/facebook/flow/issues/2360 ): Connector } & OP>>; declare function connect( mapStateToProps: Null, mapDispatchToProps: Null, mergeProps: Null, options: ConnectOptions ): Connector } & OP>>; declare function connect( mapStateToProps: MapStateToProps, mapDispatchToProps: Null, mergeProps: Null, options?: ConnectOptions ): Connector } & OP>>; declare function connect( mapStateToProps: Null, mapDispatchToProps: MapDispatchToProps, mergeProps: Null, options?: ConnectOptions ): Connector>; declare function connect( mapStateToProps: MapStateToProps, mapDispatchToProps: MapDispatchToProps, mergeProps: Null, options?: ConnectOptions ): Connector>; declare function connect( mapStateToProps: MapStateToProps, mapDispatchToProps: Null, mergeProps: MergeProps, options?: ConnectOptions ): Connector; declare function connect( mapStateToProps: MapStateToProps, mapDispatchToProps: MapDispatchToProps, mergeProps: MergeProps, options?: ConnectOptions ): Connector; }