/**
 * WhatsApp Module
 * ERP Transportistas
 *
 * Module for sending WhatsApp Business API notifications
 * with transport-specific message templates.
 *
 * Sprint: S5 - TASK-007
 * Module: WhatsApp Integration
 *
 * Features:
 * - 9 transport-specific message templates
 * - Single and batch notification sending
 * - Mock mode for development (no API key required)
 * - Rate limiting for batch operations
 * - Mexican phone number validation
 *
 * Templates Available:
 * - viaje_asignado: Notify operator of trip assignment
 * - viaje_confirmado: Notify client of shipment confirmation
 * - eta_actualizado: Notify ETA changes
 * - viaje_completado: Notify trip completion
 * - alerta_retraso: Notify delay alerts
 * - asignacion_carrier: Notify carrier of service request
 * - recordatorio_mantenimiento: Notify maintenance reminder
 * - pod_disponible: Notify POD availability
 * - factura_lista: Notify invoice availability
 */

// Templates
export {
  CategoriaTemplate,
  IdiomaTemplate,
  TipoTemplateTransporte,
  WhatsAppTemplate,
  TRANSPORT_TEMPLATES,
  getTemplate,
  getAllTemplates,
  buildMessagePayload,
} from './templates';

// Services
export {
  WhatsAppNotificationService,
  NotificationResult,
  NotificationRequest,
  BatchNotificationResult,
  WhatsAppConfig,
} from './services';

// Controllers
export { createWhatsAppController } from './controllers';

// Routes
export { createWhatsAppRoutes } from './whatsapp.routes';
export { default as whatsappRoutes } from './whatsapp.routes';
