UNPKG

@fast-simon/storefront-kit

Version:

A comprehensive kit for developing storefronts with Fast Simon components, utilities, and React/Hydrogen support.

52 lines (51 loc) 2.36 kB
import { type CachingStrategy } from '@shopify/hydrogen'; import { AutocompleteArticlesResponse, AutocompleteCollectionResponse, AutocompleteParams, AutocompleteTurboLinksResponse, DashboardConfigResponse, GetRecommendationsProps, RecommendationsProps, RecommendationsResponse, SearchParams, SearchResponse, ServerProduct, SmartCollectionResponse, SmartCollectionsParams, VisualSimilarityProps } from "@fast-simon/types"; import { FsSession } from "./fastSimonSession"; export declare function createFastSimonClient({ cache, waitUntil, request, uuid, storeID, fastSimonSession, searchPersonalization, collectionPersonalization }: { cache: Cache; waitUntil: (promise: Promise<any>) => void; request: Request; uuid: string; storeID: string; fastSimonSession: FsSession; searchPersonalization?: boolean; collectionPersonalization?: boolean; }): { getSmartCollection: ({ props, cacheStrategy }: { props: SmartCollectionsParams; cacheStrategy?: CachingStrategy; }) => Promise<SmartCollectionResponse>; getSearchResults: ({ props, cacheStrategy }: { props: SearchParams; cacheStrategy?: CachingStrategy; }) => Promise<SearchResponse>; getVisualSimilarityProducts: ({ props, cacheStrategy }: { props: VisualSimilarityProps; cacheStrategy?: CachingStrategy; }) => Promise<ServerProduct[]>; getDashboardConfig: ({ cacheStrategy }: { cacheStrategy?: CachingStrategy; }) => Promise<DashboardConfigResponse>; getAutocompleteResults: ({ props, cacheStrategy }: { props: AutocompleteParams; cacheStrategy?: CachingStrategy; }) => Promise<{ items: { products: ServerProduct[]; collections: AutocompleteCollectionResponse[]; articles: AutocompleteArticlesResponse[]; pages: any[]; queries: any[]; turbolinks: AutocompleteTurboLinksResponse[]; popularSearches: string[]; }; }>; productsRecommendations: ({ props, cacheStrategy }: { props: RecommendationsProps; cacheStrategy?: CachingStrategy; }) => Promise<ServerProduct[]>; getRecommendations: ({ props, cacheStrategy }: { props: GetRecommendationsProps; cacheStrategy?: CachingStrategy; }) => Promise<RecommendationsResponse>; };