import { default as React, ReactNode } from 'react'; import { PriceFormatter } from '../../../atoms/Price'; export interface Product { id: string; name: string; price: number; quantityUpdated: boolean; image: { url: string; alternateName: string; }; inventory: number; availability: 'available' | 'outOfStock'; selectedCount: number; } export interface VariationProductColumn { name: string; availability: { label: string; stockDisplaySettings: 'showStockQuantity' | 'showAvailability'; }; price: string; quantity: string; } interface QuickOrderDrawerContextValue { products: Product[]; totalPrice: number; itemsCount: number; alertMessage: string; isLoading: boolean; setAlertMessage: (message: string) => void; onChangeQuantityItem: (id: string, value: number) => void; onDelete: (id: string) => void; onAddToCart: () => void; formatter?: PriceFormatter; } export interface AlertMessages { notFoundAndOutOfStock?: string; notFound?: string; outOfStock?: string; } export interface QuickOrderDrawerProviderProps { children: ReactNode; initialProducts?: Product[]; isLoading?: boolean; totalRequestedSkus?: number; onAddToCart?: (products: Product[], totalPrice: number, itemsCount: number) => void; formatter?: PriceFormatter; /** * Initial alert message for CMS configuration */ initialAlertMessage?: string; /** * Alert messages from CMS for different scenarios. */ alertMessages?: AlertMessages; } export declare const QuickOrderDrawerProvider: ({ children, initialProducts, isLoading, totalRequestedSkus, onAddToCart: onAddToCartCallback, formatter, initialAlertMessage, alertMessages, }: QuickOrderDrawerProviderProps) => React.JSX.Element; export declare const useQuickOrderDrawer: () => QuickOrderDrawerContextValue; export {}; //# sourceMappingURL=QuickOrderDrawerProvider.d.ts.map