/**
 * Checkout UI: types, constants, and hooks.
 * See docs/checkout-cart-validation-implementation-plan.md.
 */

export type {
  CheckoutValidatedItem,
  CheckoutValidationResult,
  CheckoutItemIssue,
  CheckoutRecommendedAddress,
  CheckoutAddressValidationResult,
  CheckoutAddress,
  AddressFormData,
  CheckoutSelectedShippingRate,
  CheckoutShippingRateResult,
  PaymentStepProps,
} from "./types";

export {
  CHECKOUT_PATH,
  CHECKOUT_SUCCESS_PATH,
  CHECKOUT_STEPS,
} from "./constants";

export type { CheckoutStep } from "./constants";

export { useCartValidation } from "./useCartValidation";
export { useShippingAddresses } from "./useShippingAddresses";
export { useAddressValidation } from "./useAddressValidation";
export { useAddressMutations } from "./useAddressMutations";
export { useShippingRate } from "./useShippingRate";
