import React from 'react'; import { type LineItem } from '@wix/ecom/services'; import { ItemServiceConfig } from '../../services/item-details-service.js'; import { EnhancedVariant } from '@wix/headless-restaurants-menus/services'; import { AvailabilityStatus, AvailabilityStatusMap, AddToCartButtonState } from '../../services/common-types.js'; interface ItemDetailsRootProps { children: (props: { item: unknown; }) => React.ReactNode; itemDetailsServiceConfig?: ItemServiceConfig; } export declare const Root: React.FC; interface ItemDetailsSpecialRequestProps { children: (props: { value: string; onChange: (value: string) => void; allowSpecialRequest: boolean; specialRequestInstructions?: string; }) => React.ReactNode; } export declare const SpecialRequest: React.FC; interface ItemDetailsLineItemProps { addToCartLabelMap: Record; children: (props: { loadingState: string | React.ReactNode; onHandleAddToCart: (onClick: (lineItem: LineItem) => void) => void; lineItem: LineItem; buttonState: AddToCartButtonState; addToCartButtonDisabled: boolean; labelText: string; formattedPrice: string; price: number; }) => React.ReactNode; } export declare const LineItemComponent: React.FC; interface ItemDetailsQuantityProps { children: (props: { quantity: number; increment: () => void; decrement: () => void; setQuantity: (quantity: number) => void; canIncrement: boolean; canDecrement: boolean; onValueChange: (value: number) => void; }) => React.ReactNode; } export declare const QuantityComponent: React.FC; interface ItemDetailsVariantsProps { children: (props: { variants: EnhancedVariant[]; hasVariants: boolean; selectedVariantId?: string; onVariantChange?: (variantId: string) => void; selectedVariant?: EnhancedVariant; }) => React.ReactNode; } export declare const VariantsComponent: React.FC; interface ItemDetailsAvailabilityProps { availabilityStatusMap: AvailabilityStatusMap; children: (props: { availabilityStatus: AvailabilityStatus; availabilityAction?: () => void; availabilityStatusText?: string; availabilityStatusButtonText?: string; }) => React.ReactNode; } export declare const AvailabilityComponent: React.FC; export {};