import { CheckoutData } from './useCheckout'; export interface ShippingRate { id: string; shippingRateName: string; amount: number; currency: string; isFree: boolean; description?: string; highlighted?: boolean; icon?: string; isPickupPoint?: boolean; pickupPointCarriers?: string[]; } export interface ShippingRatesResponse { rates: ShippingRate[]; forceCheckoutSessionRefetch?: boolean; } export interface UseShippingRatesOptions { onSuccess?: () => void; checkout?: CheckoutData; } export interface UseShippingRatesResult { shippingRates: ShippingRate[] | undefined; selectedRate: ShippingRate | undefined; selectRate: (rateId: string) => Promise | undefined; isLoading: boolean; error: Error | null; clearError: () => void; refetch: () => Promise; /** Preview shipping rates for a country without updating session */ previewRates: (countryCode: string, stateCode?: string) => Promise; /** Rates from the last previewRates call */ previewedRates: ShippingRate[] | undefined; /** Loading state for previewRates */ isPreviewLoading: boolean; } export declare const useShippingRates: ({ onSuccess, checkout }?: UseShippingRatesOptions) => UseShippingRatesResult;