import { Navigation } from 'groupby-api'; import Configuration from '../configuration'; import Store from '../store'; declare namespace RecommendationsAdapter { const buildUrl: (customerId: string, endpoint: string, mode: string) => string; const sortNavigations: ({ results, navigations }: Navigations) => Navigation[]; const sortRefinements: ({ results, navigations, config }: Navigations) => Navigation[]; const pinNavigations: ({ results, config }: Navigations) => Navigation[]; const pinRefinements: ({ results, config }: Navigations) => Navigation[]; const sortAndPinNavigations: (availableNavigations: Navigation[], navigations: Store.Recommendations.Navigation[], config: Configuration) => Navigation[]; const addLocationToRequest: (request: RecommendationsRequest, state: Store.State) => Request; type Request = RecommendationsBody | RecommendationsRequest; interface RecommendationsRequest { size?: number; window?: string; matchPartial?: object; matchExact?: object; type?: string; target?: string; } interface RecommendationsBody { minSize: number; sequence: RecommendationsRequest[]; } interface PastPurchaseRequest { query?: string; securedPayload: Configuration.Recommendations.SecuredPayload; } interface Navigations { results: Navigation[]; navigations?: Store.Recommendations.Navigation[]; config?: Configuration; } } export default RecommendationsAdapter;