/**
 * Billing Module
 *
 * Centralized exports for all billing-related functionality.
 *
 * @example
 * ```typescript
 * import { BillingService, type BillingEvent, BILLING_EVENT_TYPES } from '@/lib/billing';
 *
 * // Use the service
 * const history = await BillingService.getBillingHistory(user, params);
 *
 * // Use types
 * const event: BillingEvent = { ... };
 *
 * // Use constants
 * if (event.event === BILLING_EVENT_TYPES.INVOICE_PAID) { ... }
 * ```
 */

// Export all types
export * from "./types";

// Export service
export { BillingService, default } from "./billing.service";

// Re-export commonly used functions for convenience
export {
  getUserBillingContext,
  getUserForInvoiceAccess,
  extractCustomerIds,
  getBillingHistory,
  retrieveStripeInvoice,
  transformInvoiceToDetails,
  userCanAccessInvoice,
  parseBillingHistoryParams,
} from "./billing.service";
