# Interface StoreCreator

A store creator is a function that creates a Redux store. Like with dispatching function, we must distinguish the base store creator, `createStore(reducer, preloadedState)` exported from the Redux package, from store creators that are returned from the store enhancers.

interface StoreCreator {
<S, A, Ext, StateExt>(reducer, enhancer?): Store<S & StateExt, A> & Ext;
<S, A, Ext, StateExt>(reducer, preloadedState?, enhancer?): Store<S & StateExt, A> & Ext;
}

- StoreCreator<S, A, Ext, StateExt>(reducer, enhancer?): Store<S & StateExt, A> & Ext

- #### Type Parameters

  - S
  - A extends Action<any>
  - Ext
  - StateExt

  #### Parameters

  - reducer: Reducer<S, A>
  - `Optional` enhancer: StoreEnhancer<Ext, StateExt>

  #### Returns Store<S & StateExt, A> & Ext

  - Defined in common/temp/node_modules/.pnpm/redux@4.2.1/node_modules/redux/index.d.ts:363
- StoreCreator<S, A, Ext, StateExt>(reducer, preloadedState?, enhancer?): Store<S & StateExt, A> & Ext

- #### Type Parameters

  - S
  - A extends Action<any>
  - Ext
  - StateExt

  #### Parameters

  - reducer: Reducer<S, A>
  - `Optional` preloadedState: PreloadedState<S>
  - `Optional` enhancer: StoreEnhancer<Ext, {}>

  #### Returns Store<S & StateExt, A> & Ext

  - Defined in common/temp/node_modules/.pnpm/redux@4.2.1/node_modules/redux/index.d.ts:367