import type { Action } from 'redux';
import type { Epic } from 'redux-observable';
import { combineEpics } from 'redux-observable';

import ccFiles from '@/modules/@common/ccFiles/redux/epics';
import gql from '@/modules/@common/gql/redux/epics';
import init from '@/modules/@common/init/redux/epics';
import location from '@/modules/@common/location/redux/epics';
import monitoring from '@/modules/@common/monitoring/redux/epics';
import token from '@/modules/@common/token/redux/epics';
import user from '@/modules/@common/user/redux/epics';
import accountsEditor from '@/modules/accounts/Editor/redux/epics';
import accountsList from '@/modules/accounts/List/redux/epics';
import adServersEditor from '@/modules/adServers/Editor/redux/epics';
import adServersList from '@/modules/adServers/List/redux/epics';
import advertiserEditor from '@/modules/advertisers/Editor/redux/epics';
import advertisers from '@/modules/advertisers/List/redux/epics';
import analyticsCustomReports from '@/modules/analytics/customReports/redux/epics';
import analyticsGeneral from '@/modules/analytics/general/redux/epics';
import analyticsLiveDashboard from '@/modules/analytics/liveDashboard/redux/epics';
import analyticsAdPerformanceDashboard from '@/modules/analytics/monetization/redux/epics';
import revenueOverview from '@/modules/analytics/revenueOverview/List/redux/epics';
import analyticsVideoContentPerformance from '@/modules/analytics/videoContentPerformance/redux/epics';
import authCreateResetPassword from '@/modules/auth/CreateResetPassword/redux/epics';
import authGuestActivation from '@/modules/auth/GuestActivation/redux/epics';
import login from '@/modules/auth/Login/redux/epics';
import configuration from '@/modules/configuration/redux/epics';
import contentOwnersEditor from '@/modules/contentOwners/Editor/redux/epics';
import contentOwners from '@/modules/contentOwners/List/redux/epics';
import customDashboardsEditor from '@/modules/customReports/Editor/redux/epics';
import customDashboards from '@/modules/customReports/List/redux/epics';
import aiWorkbenchCreateVideo from '@/modules/editorial/aiWorkbench/AiWorkbench/components/CreateVideoForm/redux/epics';
import aiWorkbench from '@/modules/editorial/aiWorkbench/AiWorkbench/redux/epics';
import aiWorkbenchChapters from '@/modules/editorial/aiWorkbench/Chapters/redux/epics';
import aiWorkbenchDescription from '@/modules/editorial/aiWorkbench/Description/redux/epics';
import aiWorkbenchHighlights from '@/modules/editorial/aiWorkbench/Highlights/redux/epics';
import aiWorkbenchSlides from '@/modules/editorial/aiWorkbench/Slides/redux/epics';
import aiWorkbenchTagLog from '@/modules/editorial/aiWorkbench/TagLog/redux/epics';
import aiWorkbenchThumbnail from '@/modules/editorial/aiWorkbench/Thumbnail/redux/epics';
import aiWorkbenchTranslates from '@/modules/editorial/aiWorkbench/Translations/redux/epics';
import videoBulkShareActions from '@/modules/editorial/bulkActions/components/BulkActionShare/redux/epics';
import videoBulkActions from '@/modules/editorial/bulkActions/redux/epics';
import editorialPlayerPreview from '@/modules/editorial/common/components/PlayerPreview/redux/epics';
import trimVideo from '@/modules/editorial/common/components/trimVideo/redux/epics';
import details from '@/modules/editorial/editorialSearch/redux/epics';
import editorialSearch from '@/modules/editorial/editorialSearch/reduxSearch/epics';
import filterContainer from '@/modules/editorial/editorialSearchFilter/filterContainer/redux/epics';
import filterSuggester from '@/modules/editorial/editorialSearchFilter/filterSuggester/redux/epics';
import editorialSearchResults from '@/modules/editorial/editorialSearchResults/redux/epics';
import videoTabDestinationList from '@/modules/editorial/editorialVideoDetails/components/Tabs/TabPublish/redux/epics';
import videoTabTargeting from '@/modules/editorial/editorialVideoDetails/components/Tabs/TabTargeting/redux/epics';
import videoTabVersions from '@/modules/editorial/editorialVideoDetails/components/Tabs/TabVersions/redux/epics';
import editorialVideoDetails from '@/modules/editorial/editorialVideoDetails/redux/epics';
import playlistEdit from '@/modules/editorial/RightSideBar/TabPlaylist/Edit/redux/epics';
import playlists from '@/modules/editorial/RightSideBar/TabPlaylist/redux/epics';
import channelEdit from '@/modules/editorial/RightSideBar/TabWatch/ChannelEdit/redux/epics';
import edit from '@/modules/editorial/RightSideBar/TabWatch/Edit/redux/epics';
import watches from '@/modules/editorial/RightSideBar/TabWatch/Watches/redux/epics';
import shareAndAccess from '@/modules/editorial/shareAndAccess/redux/epics';
import tagEditor from '@/modules/editorial/TagEditor/redux/epics';
import entities from '@/modules/entities/Entities/redux/epics';
import feedEditor from '@/modules/feeds/Editor/redux/epics';
import selfServeFeedList from '@/modules/feeds/SelfServeList/redux/epics';
import formEditor from '@/modules/forms/editor/redux/epics';
import forms from '@/modules/forms/forms/redux/epics';
import formTemplateEditor from '@/modules/forms/templateEditor/redux/epics';
import formTemplates from '@/modules/forms/templates/redux/epics';
import hostedWatches from '@/modules/hostedWatch/Watches/redux/epics';
import hubEditor from '@/modules/hubs/Editor/redux/epics';
import hubs from '@/modules/hubs/List/redux/epics';
import invitations from '@/modules/invitations/List/redux/epics';
import layout from '@/modules/layout/redux/epics';
import liveEvent from '@/modules/liveEvents/liveEvent/redux/epics';
import liveEventsList from '@/modules/liveEvents/LiveEventsList/redux/epics';
import marketplaceAccount from '@/modules/marketplace/account/redux/epics';
import marketplaceAccounts from '@/modules/marketplace/accounts/redux/epics';
import marketplaceDashboard from '@/modules/marketplace/dashboard/redux/epics';
import hbConnectors from '@/modules/marketplace/hbConnectors/redux/epics';
import marketplaceKeyLists from '@/modules/marketplace/keyLists/redux/epics';
import notifications from '@/modules/notifications/redux/epics';
import onlineHelpEditor from '@/modules/onlineHelp/Editor/redux/epics';
import onlineHelp from '@/modules/onlineHelp/List/redux/epics';
import permissions from '@/modules/permissions/redux/epics';
import playerEditor from '@/modules/players/Editor/redux/epics';
import player from '@/modules/players/Players/redux/epics';
import destination from '@/modules/publishing/Destination/redux/epics';
import destinationList from '@/modules/publishing/DestinationList/redux/epics';
import rolesPermissionsEditor from '@/modules/rolesPermissions/Editor/redux/epics';
import rolesPermissionsList from '@/modules/rolesPermissions/List/redux/epics';
import ssoEditor from '@/modules/sso/Editor/redux/epics';
import ssoList from '@/modules/sso/List/redux/epics';
import uploaderNew from '@/modules/uploaderNew/redux/epics';
import userRules from '@/modules/userRulesSettings/redux/epics';
import usersEditor from '@/modules/users/Editor/redux/epics';
import users from '@/modules/users/List/redux/epics';
import xRayCampaingsEditor from '@/modules/xRay/campaigns/Editor/redux/epics';
import xRayCampaings from '@/modules/xRay/campaigns/List/redux/epics';
import xRayCreativesEditor from '@/modules/xRay/creatives/Editor/redux/epics';
import xRayCreatives from '@/modules/xRay/creatives/List/redux/epics';
import xRayLineEditor from '@/modules/xRay/lineItems/Editor/redux/epics';
import xRayLineItems from '@/modules/xRay/lineItems/List/redux/epics';

export default combineEpics(
  login as unknown as Epic<Action, Action, RootState>,
  monitoring as unknown as Epic<Action, Action, RootState>,
  configuration as unknown as Epic<Action, Action, RootState>,
  editorialSearch as unknown as Epic<Action, Action, RootState>,
  filterContainer as unknown as Epic<Action, Action, RootState>,
  filterSuggester as unknown as Epic<Action, Action, RootState>,
  editorialSearchResults as unknown as Epic<Action, Action, RootState>,
  editorialVideoDetails as unknown as Epic<Action, Action, RootState>,
  playlists as unknown as Epic<Action, Action, RootState>,
  playlistEdit as unknown as Epic<Action, Action, RootState>,
  layout as unknown as Epic<Action, Action, RootState>,
  liveEvent as unknown as Epic<Action, Action, RootState>,
  liveEventsList as unknown as Epic<Action, Action, RootState>,
  destination as unknown as Epic<Action, Action, RootState>,
  destinationList as unknown as Epic<Action, Action, RootState>,
  details as unknown as Epic<Action, Action, RootState>,
  channelEdit as unknown as Epic<Action, Action, RootState>,
  edit as unknown as Epic<Action, Action, RootState>,
  watches as unknown as Epic<Action, Action, RootState>,
  hostedWatches as unknown as Epic<Action, Action, RootState>,
  gql as unknown as Epic<Action, Action, RootState>,
  init as unknown as Epic<Action, Action, RootState>,
  location as unknown as Epic<Action, Action, RootState>,
  token as unknown as Epic<Action, Action, RootState>,
  user as unknown as Epic<Action, Action, RootState>,
  revenueOverview as unknown as Epic<Action, Action, RootState>,
  marketplaceAccount as unknown as Epic<Action, Action, RootState>,
  marketplaceAccounts as unknown as Epic<Action, Action, RootState>,
  marketplaceDashboard as unknown as Epic<Action, Action, RootState>,
  marketplaceKeyLists as unknown as Epic<Action, Action, RootState>,
  ccFiles as unknown as Epic<Action, Action, RootState>,
  formEditor as unknown as Epic<Action, Action, RootState>,
  forms as unknown as Epic<Action, Action, RootState>,
  shareAndAccess as unknown as Epic<Action, Action, RootState>,
  trimVideo as unknown as Epic<Action, Action, RootState>,
  analyticsVideoContentPerformance as unknown as Epic<Action, Action, RootState>,
  analyticsLiveDashboard as unknown as Epic<Action, Action, RootState>,
  analyticsAdPerformanceDashboard as unknown as Epic<Action, Action, RootState>,
  analyticsCustomReports as unknown as Epic<Action, Action, RootState>,
  userRules as unknown as Epic<Action, Action, RootState>,

  formTemplates as unknown as Epic<Action, Action, RootState>,
  formTemplateEditor as unknown as Epic<Action, Action, RootState>,

  analyticsGeneral as unknown as Epic<Action, Action, RootState>,

  authCreateResetPassword as unknown as Epic<Action, Action, RootState>,
  authGuestActivation as unknown as Epic<Action, Action, RootState>,

  uploaderNew as unknown as Epic<Action, Action, RootState>,

  tagEditor as unknown as Epic<Action, Action, RootState>,

  videoTabTargeting as unknown as Epic<Action, Action, RootState>,

  hbConnectors as unknown as Epic<Action, Action, RootState>,

  editorialPlayerPreview as unknown as Epic<Action, Action, RootState>,

  videoTabDestinationList as unknown as Epic<Action, Action, RootState>,

  player as unknown as Epic<Action, Action, RootState>,
  playerEditor as unknown as Epic<Action, Action, RootState>,

  hubs as unknown as Epic<Action, Action, RootState>,
  hubEditor as unknown as Epic<Action, Action, RootState>,

  invitations as unknown as Epic<Action, Action, RootState>,

  customDashboards as unknown as Epic<Action, Action, RootState>,
  customDashboardsEditor as unknown as Epic<Action, Action, RootState>,

  users as unknown as Epic<Action, Action, RootState>,
  usersEditor as unknown as Epic<Action, Action, RootState>,

  onlineHelp as unknown as Epic<Action, Action, RootState>,
  onlineHelpEditor as unknown as Epic<Action, Action, RootState>,

  entities as unknown as Epic<Action, Action, RootState>,

  aiWorkbench as unknown as Epic<Action, Action, RootState>,
  aiWorkbenchChapters as unknown as Epic<Action, Action, RootState>,
  aiWorkbenchHighlights as unknown as Epic<Action, Action, RootState>,
  aiWorkbenchSlides as unknown as Epic<Action, Action, RootState>,
  aiWorkbenchTranslates as unknown as Epic<Action, Action, RootState>,
  aiWorkbenchDescription as unknown as Epic<Action, Action, RootState>,
  aiWorkbenchTagLog as unknown as Epic<Action, Action, RootState>,
  aiWorkbenchThumbnail as unknown as Epic<Action, Action, RootState>,

  videoTabVersions as unknown as Epic<Action, Action, RootState>,

  aiWorkbenchCreateVideo as unknown as Epic<Action, Action, RootState>,

  notifications as unknown as Epic<Action, Action, RootState>,

  advertisers as unknown as Epic<Action, Action, RootState>,
  advertiserEditor as unknown as Epic<Action, Action, RootState>,

  adServersList as unknown as Epic<Action, Action, RootState>,
  adServersEditor as unknown as Epic<Action, Action, RootState>,

  contentOwners as unknown as Epic<Action, Action, RootState>,
  contentOwnersEditor as unknown as Epic<Action, Action, RootState>,

  permissions as unknown as Epic<Action, Action, RootState>,

  accountsList as unknown as Epic<Action, Action, RootState>,
  accountsEditor as unknown as Epic<Action, Action, RootState>,
  videoBulkActions as unknown as Epic<Action, Action, RootState>,
  videoBulkShareActions as unknown as Epic<Action, Action, RootState>,

  xRayCampaings as unknown as Epic<Action, Action, RootState>,
  xRayCampaingsEditor as unknown as Epic<Action, Action, RootState>,
  xRayCreatives as unknown as Epic<Action, Action, RootState>,
  xRayCreativesEditor as unknown as Epic<Action, Action, RootState>,
  xRayLineItems as unknown as Epic<Action, Action, RootState>,
  xRayLineEditor as unknown as Epic<Action, Action, RootState>,

  rolesPermissionsList as unknown as Epic<Action, Action, RootState>,
  rolesPermissionsEditor as unknown as Epic<Action, Action, RootState>,

  ssoList as unknown as Epic<Action, Action, RootState>,
  ssoEditor as unknown as Epic<Action, Action, RootState>,

  selfServeFeedList,
  feedEditor,
);
