import { Money } from './money.model';

/** Per docs/backend/PHASE-1-MONEY-FX-PAYMENTS-CONTRACT.md §4. Immutable once created. */
export interface PriceSnapshot {
  id: string;
  offerId: string;
  amount: Money;
  displayAmount: Money;
  fxQuoteId: string | null;
  capturedAt: string;
}

export interface CheckoutLine {
  offerId: string;
  qty: number;
  unitPrice: Money;
  lineTotal: Money;
  priceSnapshotId: string;
}

export interface CheckoutResult {
  checkoutSessionId: string;
  lines: CheckoutLine[];
  subtotal: Money;
  discount: Money;
  delivery: Money;
  total: Money;
  fxQuoteId: string | null;
  expiresAt: string;
}
