export interface Product { id: string; title: string; subtitle: string | null; description: string | null; handle: string; is_giftcard: boolean; discountable: boolean; thumbnail: string; collection_id: string | null; type_id: string; weight: number | null; length: number | null; height: number | null; width: number | null; hs_code: string | null; origin_country: string | null; mid_code: string | null; material: string | null; created_at: string; updated_at: string; type: ProductType; // eslint-disable-next-line @typescript-eslint/no-explicit-any collection: any | null; // eslint-disable-next-line @typescript-eslint/no-explicit-any options: any[]; // eslint-disable-next-line @typescript-eslint/no-explicit-any tags: any[]; images: ProductImage[]; variants: ProductVariant[]; } export interface ProductType { id: string; value: string; metadata: { tax_id: string; discount_limit: number; }; created_at: string; updated_at: string; deleted_at: string | null; } export interface ProductImage { id: string; url: string; // eslint-disable-next-line @typescript-eslint/no-explicit-any metadata: any | null; created_at: string; updated_at: string; deleted_at: string | null; } export interface ProductVariant { id: string; title: string; sku: string | null; barcode: string | null; ean: string | null; upc: string | null; allow_backorder: boolean; manage_inventory: boolean; hs_code: string | null; origin_country: string | null; mid_code: string | null; material: string | null; weight: number | null; length: number | null; height: number | null; width: number | null; // eslint-disable-next-line @typescript-eslint/no-explicit-any metadata: any | null; variant_rank: number; product_id: string; created_at: string; updated_at: string; deleted_at: string | null; // eslint-disable-next-line @typescript-eslint/no-explicit-any options: any[]; calculated_price: number | null; }