/*
 * File: index.ts
 * Description: Main exports for Dashboard module
 * Design & Developed by Tech4Biz Solutions
 * Copyright (c) Spurrin Innovations. All rights reserved.
 */

// Export screens
export { default as DashboardScreen } from './screens/DashboardScreen';

// Export navigation
export {
  DashboardStackNavigator,
  DashboardStackParamList,
  DashboardNavigationProp,
  DashboardScreenProps,
  DashboardScreenProps,
  PatientDetailsScreenProps,
  AlertDetailsScreenProps,
  DepartmentStatsScreenProps,
  QuickActionsScreenProps,
  navigateToERDashboard,
  navigateToPatientDetails,
  navigateToAlertDetails,
  navigateToDepartmentStats,
  navigateToQuickActions,
  goBack,
  resetToERDashboard,
  replaceWithERDashboard,
  navigateToERDashboardAndClearStack,
  navigateToPatientDetailsAndClearStack,
  navigateToAlertDetailsAndClearStack,
} from './navigation';

// Export components
export { default as PatientCard } from './components/PatientCard';
export { default as CriticalAlerts } from './components/CriticalAlerts';
export { default as DashboardHeader } from './components/DashboardHeader';
export { default as QuickActions } from './components/QuickActions';
export { default as DepartmentStats } from './components/DepartmentStats';

// Export hooks
export * from './hooks';

// Export Redux
export {
  fetchDashboardData,
  refreshDashboardData,
  clearError,
  setFilter,
  setSort,
  updateConnectionStatus,
  updateLastUpdated,
  updateDashboardData,
} from './redux/dashboardSlice';

// Export AI Dashboard Redux
export {
  fetchAIDashboardStatistics,
  refreshAIDashboardStatistics,
  clearError as clearAIDashboardError,
  setTimeRange,
  setHospital,
  setDepartment,
  updateDashboardData as updateAIDashboardData,
} from './redux/aiDashboardSlice';

// Export AI Dashboard Selectors
export {
  selectAIDashboardData,
  selectAIDashboardLoading,
  selectAIDashboardRefreshing,
  selectAIDashboardError,
  selectDashboardMessage,
  selectTotalPredictions,
  selectTotalPatients,
  selectTotalFeedbacks,
  selectFeedbackRatePercentage,
  selectAverageConfidenceScore,
  selectCriticalCasePercentage,
  selectConfidenceScores,
  selectUrgencyLevels,
  selectFeedbackAnalysis,
  selectTimeAnalysis,
} from './redux/aiDashboardSelectors';

export {
  fetchAlerts,
  acknowledgeAlert,
  markAlertAsRead,
  clearError as clearAlertsError,
  setFilter as setAlertsFilter,
  setSort as setAlertsSort,
  addAlert,
  removeAlert,
  updateAlert,
  clearAllAlerts,
  markAllAsRead,
} from './redux/alertsSlice';

export {
  setLoading,
  showModal,
  hideModal,
  showOverlay,
  hideOverlay,
  setCurrentScreen,
  clearNavigationStack,
  toggleDarkMode,
  setFontSize,
  toggleHighContrast,
  setRefreshing,
  setScrolling,
  updateLastInteraction,
  showError,
  clearError as clearUIError,
  resetUIState,
} from './redux/uiSlice';

/*
 * End of File: index.ts
 * Design & Developed by Tech4Biz Solutions
 * Copyright (c) Spurrin Innovations. All rights reserved.
 */ 