// Authentication utilities
export {
  generateJWT,
  createSessionToken,
  generateOnrampUrl,
  GUEST_CHECKOUT_LIMITS,
  SUPPORTED_NETWORKS,
  SUPPORTED_ASSETS,
  isValidEthereumAddress,
  validateGuestCheckoutAmount
} from './cdp-auth';

// Validation utilities
export {
  walletAddressSchema,
  addressConfigSchema,
  guestSessionTokenSchema,
  walletSessionTokenSchema,
  sessionTokenSchema,
  onrampUrlSchema,
  amountSchema,
  emailSchema,
  otpSchema,
  assetSchema,
  networkSchema,
  errorResponseSchema,
  sessionTokenResponseSchema,
  onrampUrlResponseSchema,
  validateRequest,
  createErrorResponse,
  validateEnvironment
} from './validation';

// Environment validation utilities
export {
  validateProjectId,
  validateApiCredentials,
  validateProjectStructure,
  validateCDPEnvironment,
  formatValidationResults,
  isEnvironmentReady,
  testCDPConnectivity
} from './environment-validation';

// Hook compatibility utilities
export {
  getEvmAddress,
  getCurrentUser,
  getIsInitialized,
  getHookActions,
  detectCDPEnvironment,
  validateHookReturns
} from './hook-utils';

// Environment detection utilities
export {
  detectEnvironment,
  logEnvironmentDiagnostics,
  checkHookCompatibility
} from './environment-detection';

// Types
export type {
  JWTConfig,
  AddressConfig,
  SessionTokenParams,
  OnrampUrlParams
} from './cdp-auth';

export type {
  ValidationResult,
  EnvironmentStatus
} from './environment-validation';

export type {
  NormalizedUser
} from './hook-utils';

export type {
  EnvironmentDiagnostics
} from './environment-detection';