// Third-party Imports
import { configureStore } from '@reduxjs/toolkit'

import productReducer from '@/redux-store/slices/product'
import customerReducer from '@/redux-store/slices/customer'
import paymentMethodReducer from '@/redux-store/slices/paymentMethod'

export const store = configureStore({
  reducer: {
    productReducer,
    customerReducer,
    paymentMethodReducer
  },
  middleware: getDefaultMiddleware => getDefaultMiddleware({ serializableCheck: false })
})

export type RootState = ReturnType<typeof store.getState>
export type AppDispatch = typeof store.dispatch
