/**
 * Billing Domain - Contract
 * 
 * Constants and types for the billing domain.
 * All validated types are derived from schemas (see schema.ts).
 */

// ============================================================================
// Invoice Status Constants
// ============================================================================

export const INVOICE_STATUS = {
  DRAFT: "Draft",
  PENDING: "Pending",
  PAID: "Paid",
  UNPAID: "Unpaid",
  OVERDUE: "Overdue",
  CANCELLED: "Cancelled",
  REFUNDED: "Refunded",
  COLLECTIONS: "Collections",
} as const;

// ============================================================================
// Re-export Types from Schema (Schema-First Approach)
// ============================================================================

export type {
  InvoiceStatus,
  InvoiceItem,
  Invoice,
  InvoicePagination,
  InvoiceList,
  InvoiceSsoLink,
  PaymentInvoiceRequest,
  BillingSummary,
  InvoiceQueryParams,
  InvoiceListQuery,
} from './schema';

