export type Cart = { id: string; checkoutUrl: string; cost: { totalAmount: Money; totalTaxAmount: Money; }; lines: CartItem[]; totalQuantity: number; }; export type CartItem = { id: string; quantity: number; cost: { totalAmount: Money; }; merchandise: { id: string; title: string; selectedOptions: { name: string; value: string; }[]; product: { handle: string; title: string; featuredImage: Image }; }; }; export type Collection = { handle: string; title: string; description: string; seo: SEO; updatedAt: string; path: string; }; export type Image = { url: string; altText: string; width: number; height: number; }; export type Menu = { title: string; path: string; }; export type Money = { amount: string; currencyCode: string; }; export type Page = { id: string; title: string; handle: string; body: string; bodySummary: string; seo?: SEO; createdAt: string; updatedAt: string; }; export type Product = { id: string; handle: string; availableForSale: boolean; title: string; description: string; descriptionHtml: string; options: ProductOption[]; priceRange: { maxVariantPrice: Money; minVariantPrice: Money; }; variants: ProductVariant[]; featuredImage: Image; images: Image[]; seo: SEO; tags: string[]; updatedAt: string; }; export type ProductOption = { id: string; name: string; values: string[]; }; export type ProductVariant = { id: string; availableForSale: boolean; selectedOptions: SelectedOption[]; price: Money; }; export type SelectedOption = { name: string; value: string; }; export type SEO = { title?: string; description?: string; };