@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
TypeScript
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>;
};