import { ImageProps } from "next/image"; export interface StoreItemProps extends IStoreItemStyle { isLogin?: boolean; data: IStoreItemData; NextImage?: (props: ImageProps) => JSX.Element | null; isMobile?: boolean; } export interface IStoreItemData { index?: number; id?: number; goodsNo?: string; goodsName: string; brandName: string; imageUrl: string; goodsPrice: number | string; fixedPrice?: number; periodDiscountStart?: string; periodDiscountEnd?: string; pickType: "none" | "best" | "plus" | "premium" | "cost_effective"; benefitUseType?: string; goodsAccess?: "all" | "member"; reviewAverage?: number; reviewCount?: number; } export interface IStoreItemStyle { imageSizeClassName: string; imageClassName?: string; wrapperClassName?: string; informationWrapperClassName?: string; showIndex?: boolean; showBrand?: boolean; showFixedPrice?: boolean; showDiscountPercentage?: boolean; showTimedealTimer?: boolean; showRating?: boolean; showPickBadge?: boolean; pickBadgeType?: "label" | "circle"; pickBadgeOnImage?: boolean; goodsNameStyle?: string; priceStyle?: string; editingData?: IScrapItemToEdit; } interface IScrapItemToEdit { isSelected: boolean; isEditingMode: boolean; onCheckChange?: (id: number) => void; }