diff --git a/index.d.ts b/index.d.ts index f29eb8c..39dc6d0 100644 --- a/index.d.ts +++ b/index.d.ts @@ -2,12 +2,26 @@ type Action = { type: string; }; -type Reducer = (state: S, action: Action) => S; +type Reducer = (state: S | undefined, action: Action) => S; +type PreloadedReducer = (state: S, action: Action) => S; export default function reduceReducers( - initialState: S | null, - ...reducers: Reducer[] + initialState: S, + ...reducers: PreloadedReducer[] +): Reducer; +export default function reduceReducers( + initialReducer: Reducer, + ...reducers: PreloadedReducer[] ): Reducer; export default function reduceReducers( - ...reducers: Reducer[] + initialState: S | null, + initialReducer: Reducer, + ...reducers: PreloadedReducer[] ): Reducer; +export default function reduceReducers( + initialState: S | null, + ...reducers: PreloadedReducer[] +): PreloadedReducer; +export default function reduceReducers( + ...reducers: PreloadedReducer[] +): PreloadedReducer;