import { StorefrontApiClient, StorefrontApiResponse } from "./storefront-api-client"; import type { CountryCode, HasMetafieldsIdentifier, LanguageCode } from "./types/storefront.types"; import type { Product, ProductVariant } from "../types"; export type LoadProductResponse = StorefrontApiResponse<{ product: Product | null; variant: ProductVariant | null; }>; export type { GetProductQueryVariables } from "./types/storefront.generated"; export interface LoadProductArgs { productId?: string; productHandle?: string; variantId?: string; selectedOptions?: { name: string; value: string; }[]; productMetafields?: HasMetafieldsIdentifier[]; variantMetafields?: HasMetafieldsIdentifier[]; /** Fetch `quantityAvailable` / `totalInventory` (SWI-3267). Off unless a * badge rule reads stock. */ includeInventory?: boolean; country: CountryCode; language: LanguageCode; } export declare const loadProduct: (client: StorefrontApiClient, { productId, productHandle, variantId, selectedOptions, productMetafields, variantMetafields, includeInventory, country, language, }: LoadProductArgs) => Promise<{ data: { product: Product | null; variant: ProductVariant | null; }; errors: import("@shopify/graphql-client").ResponseErrors | null; }>;