import State from './State'; import { Patcher, Reducer, Selector, StateInitializer } from './types'; export default function useReducer(reducer: Reducer, state: State | StateInitializer | T, config?: {}): [ state: T, dispatch: (action: A) => void, stateObject: State ]; export default function useReducer(reducer: Reducer, state: State | StateInitializer | T, config: { selector: Selector; }): [ state: ST, dispatch: (action: A) => void, stateObject: State ]; export default function useReducer(reducer: Reducer, state: State | StateInitializer | T, config: { selector: Selector; patcher: Patcher; }): [ state: ST, dispatch: (action: A) => void, stateObject: State ];