// Zustand-based State Management Entry Point
// This file exports all Zustand stores

// Export all stores and their types (comprehensive wildcard export)
export * from './src/stores';

// Export utils, services, and constants
export * from './src/constant';
export * from './src/service';
export * from './src/utils';

// Key Store Hooks - explicitly exported for better discoverability
export { useAddressStore } from './src/stores/address.store';
export { useAlertStore } from './src/stores/alert.store';
export { useAuthStore } from './src/stores/auth.store';
export { useBuzzebeesAppStore } from './src/stores/buzzebeess-app.store';
export { createCampaignDetailStore } from './src/stores/campaign-detail.store';
export { createCampaignsStore } from './src/stores/campaigns.store';
export { useCartStore } from './src/stores/cart.store';
export { createCategoriesStore } from './src/stores/categories.store';
export { useConfirmStore } from './src/stores/confirm.store';
export { useConsentStore } from './src/stores/consent.store';
export { useCouponStore } from './src/stores/coupon.store';
export { createDashboardStore } from './src/stores/dashboard.store';
export { useLoading, useLoadingIndicatorStore } from './src/stores/loading-indicator.store';
export { EN, TH, useLocaleStore } from './src/stores/locale.store';
export { useMaintenanceStore } from './src/stores/maintenance.store';
export { useNotificationStore } from './src/stores/notification.store';
export { createPointLogStore } from './src/stores/point-log.store';
export { usePopupStore } from './src/stores/popup.store';
export { createPurchaseStore } from './src/stores/purchase.store';
export { useRegistrationStore } from './src/stores/registration.store';
export { useUserStore } from './src/stores/user.store';
export { useZipcodeStore } from './src/stores/zipcode.store';
export { useAnalyticsStore } from './src/stores/analytics.store';

// Key Type Exports - explicitly exported for better discoverability
export type { AlertActions, AlertRequest, AlertState, AlertStore } from './src/stores/alert.store';
export type { AuthActions, AuthState, AuthStore } from './src/stores/auth.store';
export type {
  AuthTokenType,
  BuzzebeesAppActions,
  BuzzebeesAppState,
  BuzzebeesAppStore,
  TokenFunctions,
} from './src/stores/buzzebeess-app.store';
export type { CartActions, CartState, CartStore } from './src/stores/cart.store';
export type { ConfirmActions, ConfirmRequest, ConfirmState, ConfirmStore } from './src/stores/confirm.store';
export type {
  LoadingIndicatorActions,
  LoadingIndicatorState,
  LoadingIndicatorStore,
} from './src/stores/loading-indicator.store';
export type { AppLocale, LocaleActions, LocaleState, LocaleStore } from './src/stores/locale.store';
export type { PopupActions, PopupRequest, PopupState, PopupStore } from './src/stores/popup.store';
export type { UpdateProfileParams, UserActions, UserState, UserStore } from './src/stores/user.store';

// Note: All other store types are available through the wildcard export above
// This provides both comprehensive access and explicit key exports for common usage patterns
