/** * Promotions Hook using TanStack Query * Replaces manual refresh with automatic cache invalidation */ import { Promotion } from '../../core/resources/checkout'; export interface UsePromotionsQueryOptions { checkoutSessionId?: string; enabled?: boolean; } export interface UsePromotionsQueryResult { appliedPromotions: Promotion[]; isLoading: boolean; error: Error | null; isApplying: boolean; isRemoving: boolean; applyPromotionCode: (code: string) => Promise<{ success: boolean; error?: string; promotion?: Promotion; }>; removePromotionCode: (promotionId: string) => Promise<{ success: boolean; error?: string; }>; refresh: () => Promise; clearError: () => void; } export declare function usePromotionsQuery(options?: UsePromotionsQueryOptions): UsePromotionsQueryResult;