import { ReactNode } from 'react'; import { ThumborSettingType } from '../Common/types'; export declare const WAITING_ORDER = "WAITING_ORDER"; export declare const OPEN_ORDER = "OPEN_ORDER"; export declare const CLOSE_ORDER = "CLOSE_ORDER"; export declare type InputQuantityPropsType = { handleCurrentQty: (qty: number) => void; qtyBoxClassName?: string; qtyLabelClassName?: string; qtyWrapperClassName?: string; qtyLabel?: string; limit: number; isDisabled?: boolean; currentQty: number; ignoreStock: boolean; }; export declare type InputVariantType = { variants: ConvertedProductVariantType[]; initialVariant: ConvertedProductType; brandVariants?: BrandVariantType[]; onChangeOptions?: (variant: ConvertedProductType) => void; variantContainerClassName: string; variantOptionsContainerClassName: string; variantOptionsClassName: string; variantLabelClassName: string; variantInputClassName: string; isButton: { [key: number]: boolean; }; isDisabled?: boolean; handleSubmit: (submittable: boolean) => void; }; export declare type VariantButtonPropsType = { label: string; values: { text: string; isDisabled: boolean; attributes?: { [key: string]: any; }; }[]; lastKey: string; selectedOptions: SelectedOptionType[]; setLastOption: (option: string) => void; handleVariantChanges: (key: string, value: string) => void; variantOptionsContainerClassName: string; variantOptionsClassName: string; variantLabelClassName: string; variantInputClassName: string; optionIndex: number; }; export declare type ProductDescriptionPropsType = { description: string; descriptionClassName?: string; accordionClassName?: string; accordionIcon?: ReactNode; defaultOpen?: boolean; } & Pick; export declare type ProductAdditonalInfoPropsType = { additionalInfo: string; additionalInfoClassName?: string; accordionClassName?: string; accordionIcon?: ReactNode; defaultOpen?: boolean; } & Pick; export declare type ProductImagePropsType = { imageURLsVariant: ImageVariantType[]; SKU: string; alt: string; imageLoadingComponent?: ReactNode; imageRowClassName?: string; thumborSetting: ThumborSettingType; mainImageClassName?: string; thumbnailImageClassName?: string; enableLightbox?: boolean; enableDots?: boolean; hideThumbnails?: boolean; dotClassName?: string; activeDot?: ReactNode; inactiveDot?: ReactNode; enableArrow?: boolean; arrowClassName?: string; prevIcon?: ReactNode; nextIcon?: ReactNode; lightboxPopupClassName?: string; lightboxContentClassName?: string; closeButtonClassName?: string; closeIcon?: ReactNode; lazyLoadedImage?: boolean; widthImage?: number; heightImage?: number; }; export declare type FetchedProductType = { data: ProductDataType; }; export declare type ProductDataType = { products: ProductType[]; }; export declare type ProductType = { ID: string; imageURLs: string[]; imageURLsVariant: ImageVariantType[]; details: ProductDetailsType[]; attributes: AttributeType[]; variants: ProductVariantType[]; slug?: string; published?: boolean; condition?: string; volume?: ProductVolumeType; weight?: ProductWeightType; SEOs?: ProductSEOType[]; SKU: string; channelAttributes?: ChannelAttributeType[]; relatedProducts?: ProductType[]; tagKeys?: string[]; collectionIDs?: string[]; }; export declare type ConvertedProductType = Pick & { name: string; description: string; price: { code: string; value: number; }; salePrice: { code: string; value: number; }; additionalInfo: string; weight: number; options: SelectedOptionType[]; stock: number; ignoreStock: boolean; }; export declare type ProductVariantType = { SKU: string; ID: string; channelIDs?: string[]; options: VariantOptionType[]; basePrices: MoneyType[]; salePrices: MoneyType; attributes?: AttributeType[]; channelAttributes?: ChannelAttributeType[]; imageURLs?: string[]; details?: VariantDetailType[]; stocks?: StockType; }; export declare type ConvertedProductVariantType = Omit & { options: ConvertedOptionsType[]; }; export declare type ConvertedOptionsType = { key: string; value: string; isDisabled: boolean; }; export declare type SelectOptionType = { key: string; values: { text: string; isDisabled: boolean; attributes?: { [key: string]: any; }; }[]; }; export declare type SelectedOptionType = Pick; export declare type StockType = { stocks: StockDetailType[]; total: number; }; export declare type StockDetailType = { SKU: string; quantity: number; ignoreStock: boolean; }; export declare type VariantDetailType = { name: string; language: string; }; export declare type MoneyType = { code: string; value: number; }; export declare type VariantOptionType = { key: string; keyLabel: VariantOptionTranslationType[]; value: string; valueLabel: VariantOptionTranslationType[]; }; export declare type VariantOptionTranslationType = { text: string; language: string; }; export declare type ChannelAttributeType = { channelID: string; key: string; value: string; }; export declare type AttributeType = { sortIndex: number; translations: ProductAttributeTranslationType[]; }; export declare type ProductAttributeTranslationType = { key: string; value: string; language: string; }; export declare type ProductSEOType = { title: string; description: string; keywords: string[]; language: string; }; export declare type ProductVolumeType = { length: number; height: number; width: number; unit: string; }; export declare type ProductWeightType = { value: number; unit: string; }; export declare type ProductDetailsType = { name: string; description: string; language: string; }; export declare type ProductPriceType = { price: number; salePrice: number; currency: string; salePriceClassName?: string; priceClassName?: string; }; export declare type BrandVariantType = { key: BrandVariantKeyType; values: BrandVariantValueType[]; }; export declare type BrandVariantKeyType = { ID: string; translations: BrandVariantTranslationType[]; isDefault: false; }; export declare type BrandVariantValueType = { ID: string; translations: BrandVariantTranslationType[]; attributes: BrandVariantValueAttributesType[]; isActive: boolean; }; export declare type BrandVariantValueAttributesType = { key: string; value: string; }; export declare type BrandVariantTranslationType = { language: string; text: string; }; export declare type ImageVariantType = { imageUrl: string; variants: string[]; };