export interface Discount { id: string; promotionId: string; promotionCodeId: string | null; appliedAt: string; appliedManually: boolean; promotion: { id: string; name: string; }; } export interface DiscountCodeValidation { isValid: boolean; code: string; error?: string; discount?: { id: string; name: string; type: string; value: number; currency: string; }; } export interface UseDiscountsOptions { checkoutSessionId?: string; autoRefresh?: boolean; } export interface UseDiscountsResult { appliedDiscounts: Discount[]; isLoading: boolean; isApplying: boolean; isRemoving: boolean; error: Error | null; applyDiscountCode: (code: string) => Promise<{ success: boolean; error?: string; discount?: Discount; }>; removeDiscountCode: (discountId: string) => Promise<{ success: boolean; error?: string; }>; getAppliedDiscounts: () => Promise; refresh: () => Promise; clearError: () => void; } export declare function useDiscounts(options?: UseDiscountsOptions): UseDiscountsResult;