export interface ShippingAddress {
  country: string;
  postalCode: string;
}

export interface ShippingZone {
  id: string;
  name: string;
  country: string;
  postalCodePrefix: string | null;
  active: boolean;
}

export interface ShippingMethod {
  id: string;
  zoneId: string;
  name: string;
  baseCostCents: number;
  freeShippingThresholdCents: number | null;
  /** Peso máximo (kg) que admite el método; null = sin límite. */
  maxWeightKg: number | null;
  /** Peso máximo (kg) para aplicar envío gratuito; null = sin límite. */
  freeShippingMaxWeightKg: number | null;
  active: boolean;
}

export interface ShippingQuote {
  zoneId: string;
  methodId: string;
  methodName: string;
  costCents: number;
  freeApplied: boolean;
}
