// Context-based State Management Entry Point
// This file exports all Context Provider components and hooks

// Auth Provider
export { AuthContext, AuthProvider, useAuthContext } from './src/providers/auth_provider';

export type { AuthContextType, TokenFunctions } from './src/providers/auth_provider';

// User Provider
export { UserContext, UserProvider, useUserContext } from './src/providers/user_provider';

export type { UpdateProfileParams } from './src/providers/user_provider';

// Cart Provider
export { CartProvider, useCartContext } from './src/providers/cart_provider';

// Alert Provider
export { AlertContext, AlertProvider, useAlertContext } from './src/providers/alert_provider';

export type { AlertContextType, AlertRequest } from './src/providers/alert_provider';

// Loading Indicator Provider
export { LoadingProvider, useLoading, useLoadingContext } from './src/providers/loading_indicator_provider';

// Locale Provider
export { AppLocaleProvider, EN, LocaleContext, TH, useAppLocaleContext } from './src/providers/locale_provider';

export type { AppLocale, LocaleContextType } from './src/providers/locale_provider';

// Confirm Provider
export { ConfirmContext, ConfirmProvider, useConfirmContext } from './src/providers/confirm_provider';

// Popup Provider
export { PopupProvider } from './src/providers/popup_provider';

// Additional providers
export * from './src/providers/address_provider';
export * from './src/providers/buzzebees_service_provider';
export * from './src/providers/campaign_detail_provider';
export * from './src/providers/campaigns_provider';
export * from './src/providers/categories_provider';
export * from './src/providers/consent_provider';
export * from './src/providers/coupon_provider';
export * from './src/providers/dashboard_provider';
export * from './src/providers/default_main_app_provider';
export * from './src/providers/maintenance_provider';
export * from './src/providers/notification_provider';
export * from './src/providers/point_log_provider';
export * from './src/providers/purchase_provider';
export * from './src/providers/registration_provider';
export * from './src/providers/zipcode_provider';
export * from './src/providers/analytics_provider';

// Export utils and services that might be needed
export * from './src/constant';
export * from './src/service';
export * from './src/utils';
