/**
 * 分销模块导出
 * 
 * 核心功能：
 * 1. 分享链接追踪 - 记录每次点击
 * 2. 30天绑定规则 - 绑定后30天内付款归属分享者
 * 3. 过期提醒 - 绑定即将过期时提醒分销商
 * 4. 自动提现 - 达到阈值自动打款到账户
 */

// 类型导出
export type {
  DistributionBinding,
  Distributor,
  WithdrawAccount,
  WithdrawRecord,
  ClickRecord,
  DistributionConfig,
  ExpireReminder,
  DistributionOverview,
  DistributionAPIResponse,
  DistributionRankItem,
} from './types';

// 服务导出
export {
  // 配置
  DEFAULT_DISTRIBUTION_CONFIG,
  getDistributionConfig,
  updateDistributionConfig,
  
  // 绑定管理
  getAllBindings,
  recordClickAndBinding,
  getActiveBindingForVisitor,
  getBindingsForDistributor,
  cancelBinding,
  convertBinding,
  processExpiredBindings,
  
  // 提醒管理
  getRemindersForDistributor,
  getUnreadReminderCount,
  markReminderRead,
  
  // 分销商管理
  getDistributor,
  getOrCreateDistributor,
  setAutoWithdraw,
  getAllDistributors,
  
  // 提现管理
  getAllWithdrawals,
  getWithdrawalsForDistributor,
  requestWithdraw,
  executeAutoWithdraw,
  processWithdrawalPayment,
  approveWithdrawal,
  rejectWithdrawal,
  
  // 统计
  getDistributionOverview,
  getDistributionRanking,
} from './service';

// 自动打款服务导出
export {
  wechatTransfer,
  alipayTransfer,
  processWithdrawalPayment as processPayment,
  processBatchAutoWithdrawals,
  queryWechatTransfer,
  queryAlipayTransfer,
} from './auto-payment';

export type {
  PaymentResult,
  WechatPayConfig,
  AlipayConfig,
} from './auto-payment';

// WebSocket实时推送服务导出
export {
  pushMessage,
  getMessages,
  clearMessages,
  pushBindingExpiringReminder,
  pushBindingExpiredNotice,
  pushBindingConvertedNotice,
  pushWithdrawalUpdate,
  pushEarningsAdded,
  pushSystemNotice,
  createWebSocketClient,
} from './websocket';

export type {
  WebSocketMessageType,
  WebSocketMessage,
  BindingExpiringData,
  WithdrawalUpdateData,
  EarningsAddedData,
} from './websocket';
