/**
 * Zen Authentication Module - Server-side utilities
 * 
 * For client components, use '@zen/core/auth/pages'
 * For server actions, use '@zen/core/auth/actions'
 */

// Authentication library (server-side only)
export {
  register,
  login,
  requestPasswordReset,
  resetPassword,
  verifyUserEmail,
  updateUser
} from './lib/auth.js';

// Session management (server-side only)
export {
  createSession,
  validateSession,
  deleteSession,
  deleteUserSessions,
  refreshSession
} from './lib/session.js';

// Email utilities (server-side only)
export {
  createEmailVerification,
  verifyEmailToken,
  createPasswordReset,
  verifyResetToken,
  deleteResetToken,
  sendVerificationEmail,
  sendPasswordResetEmail,
  sendPasswordChangedEmail
} from './lib/email.js';

// Password utilities (server-side only)
export {
  hashPassword,
  verifyPassword,
  generateToken,
  generateId
} from './lib/password.js';

// Middleware (server-side only)
export {
  protect,
  checkAuth,
  requireRole
} from './middleware/protect.js';

// Server Actions (server-side only)
export {
  registerAction,
  loginAction,
  logoutAction,
  getSession,
  forgotPasswordAction,
  resetPasswordAction,
  verifyEmailAction,
  setSessionCookie,
  refreshSessionCookie
} from './actions/authActions.js';

