import { ShopifyProductRef } from './config'; /** * Derive the single identifier the app proxy should look an experience up by, * tolerating the shapes integrators actually pass for a product "id": * * - a product **handle** (`"limited-drop-tee"`) — used verbatim; * - a storefront product **URL** — the `/products/` slug is extracted so * the lookup stays handle-keyed (and matches a preloaded `metafieldValues` / * `map` entry); * - a Shopify product **global id** (`gid://shopify/Product/123`) or a numeric * id — forwarded verbatim for the proxy to classify and resolve server-side. * * Prefers `handle`; falls back to `id` only when `handle` is absent or blank. * Returns null when neither yields a non-empty value, so the resolver can * short-circuit to a null experience rather than fetching `.../undefined`. * * Pure and SSR-safe — no network, no throw. The proxy remains the source of * truth for classifying a non-handle value; this only normalizes the obvious * URL case client-side and picks the best of the two reference fields. */ export declare function resolveProductLookupKey(product: ShopifyProductRef): string | null;