/**
 * State Management Exports
 * Central export point for Redux state management
 */

// Store
export { store, persistor } from './store';
export type { RootState, AppDispatch } from './store';

// Hooks
export { useAppDispatch, useAppSelector } from './hooks';

// Auth slice
export {
  login,
  register,
  logout,
  setUser,
  setToken,
  clearError as clearAuthError,
  updateUser,
} from './slices/authSlice';
export type { User } from './slices/authSlice';

// Messaging slice
export {
  fetchConversations,
  fetchMessages,
  sendMessage,
  setActiveConversation,
  addMessage,
  updateMessageStatus,
  markAsRead,
  incrementUnread,
} from './slices/messagingSlice';
export type { Message, Conversation } from './slices/messagingSlice';

// Calls slice
export {
  setActiveCall,
  setIncomingCall,
  endCall,
  declineCall,
  setMuted,
  setDeafened,
  setSpeaking,
  setVolume,
  clearError as clearCallError,
} from './slices/callsSlice';
export type { Call, VoiceState } from './slices/callsSlice';
