/**
 * Analytics Events System - Main Export
 *
 * Central export point for all analytics tracking functionality.
 * Use this for clean imports across the application.
 */

// Export all event types and enums
export { EventCategory, EventName, type EventProperties } from "./events";

// Export server-side tracking functions
export {
  trackEvent,
  // CTA tracking
  trackDemoBookingStarted,
  trackDemoBookingCompleted,
  trackContactFormOpened,
  trackContactFormSubmitted,
  trackPricingViewed,
  trackPricingPlanSelected,
  trackFreeTrialClicked,
  // Feature tracking
  trackDashboardViewed,
  trackAppointmentCreated,
  trackAppointmentCancelled,
  trackBillingViewed,
  trackSubscriptionUpgraded,
  trackSubscriptionCancelled,
  trackSettingsUpdated,
  trackTeamMemberInvited,
  // User journey
  trackSignupStarted,
  trackSignupCompleted,
  trackLoginSuccess,
  trackLoginFailed,
  trackLogout,
  trackOnboardingCompleted,
  // Error tracking
  trackFormValidationError,
  trackApiError,
  trackPaymentError,
  trackPageNotFound,
  trackSessionExpired,
  // Engagement
  trackVideoPlayed,
  trackResourceDownloaded,
  trackCaseStudyViewed,
  trackFaqExpanded,
  trackChatbotOpened,
  // Conversion
  trackLeadCaptured,
  trackTrialStarted,
  trackPaidCustomer,
  // Navigation
  trackPageView,
  trackExternalLinkClicked,
  // Analytics queries - DISABLED (missing Prisma model analytics_events)
  // getEventCountByCategory,
  // getTopEvents,
  // getConversionFunnel,
} from "./events";

// Export client-side tracking (re-export from client.ts)
export {
  trackDemoBookingStarted as trackDemoBookingStartedClient,
  trackDemoBookingCompleted as trackDemoBookingCompletedClient,
  trackContactFormOpened as trackContactFormOpenedClient,
  trackContactFormSubmitted as trackContactFormSubmittedClient,
  trackPricingViewed as trackPricingViewedClient,
  trackPricingPlanSelected as trackPricingPlanSelectedClient,
  trackFreeTrialClicked as trackFreeTrialClickedClient,
  trackDashboardViewed as trackDashboardViewedClient,
  trackAppointmentCreated as trackAppointmentCreatedClient,
  trackAppointmentCancelled as trackAppointmentCancelledClient,
  trackBillingViewed as trackBillingViewedClient,
  trackSubscriptionUpgraded as trackSubscriptionUpgradedClient,
  trackSubscriptionCancelled as trackSubscriptionCancelledClient,
  trackSettingsUpdated as trackSettingsUpdatedClient,
  trackTeamMemberInvited as trackTeamMemberInvitedClient,
  trackSignupStarted as trackSignupStartedClient,
  trackSignupCompleted as trackSignupCompletedClient,
  trackLoginSuccess as trackLoginSuccessClient,
  trackLoginFailed as trackLoginFailedClient,
  trackLogout as trackLogoutClient,
  trackOnboardingCompleted as trackOnboardingCompletedClient,
  trackFormValidationError as trackFormValidationErrorClient,
  trackApiError as trackApiErrorClient,
  trackPaymentError as trackPaymentErrorClient,
  trackPageNotFound as trackPageNotFoundClient,
  trackSessionExpired as trackSessionExpiredClient,
  trackVideoPlayed as trackVideoPlayedClient,
  trackResourceDownloaded as trackResourceDownloadedClient,
  trackCaseStudyViewed as trackCaseStudyViewedClient,
  trackFaqExpanded as trackFaqExpandedClient,
  trackChatbotOpened as trackChatbotOpenedClient,
  trackLeadCaptured as trackLeadCapturedClient,
  trackTrialStarted as trackTrialStartedClient,
  trackPaidCustomer as trackPaidCustomerClient,
  trackPageView as trackPageViewClient,
  trackExternalLinkClicked as trackExternalLinkClickedClient,
  usePageView,
  useTrackInteraction,
} from "./client";
