import { createStore } from "vuex";
import { State as HomepageStates, moduleHomepage } from "./modules/homepage";

import {
  State as TicketListStates,
  moduleTicketList,
} from "../../../../../../ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/ticket_list";
import {
  State as TicketStates,
  moduleTicket,
} from "../../../../../../ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/ticket";
import {
  State as CommentStates,
  moduleComment,
} from "../../../../../../ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/comment";
import {
  moduleMotive,
  State as MotiveStates,
} from "../../../../../../ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/motive";
import {
  State as AddresseeStates,
  moduleAddressee,
} from "../../../../../../ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/addressee";
import {
  modulePersons,
  State as PersonsState,
} from "../../../../../../ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/persons";

import {
  moduleUser,
  State as UserState,
} from "../../../../../../ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/user";

export interface RootState {
  homepage: HomepageStates;
  motive: MotiveStates;
  ticket: TicketStates;
  comment: CommentStates;
  addressee: AddresseeStates;
  persons: PersonsState;
  ticketList: TicketListStates;
  user: UserState;
}
export const store = createStore<RootState>({
  modules: {
    homepage: moduleHomepage,
    motive: moduleMotive,
    ticket: moduleTicket,
    comment: moduleComment,
    addressee: moduleAddressee,
    person: modulePersons,
    ticketList: moduleTicketList,
    user: moduleUser,
  },
});
