import { ConstructorClientOptions, NetworkParameters, UserParameters, VariationsMap, FilterExpression } from '.'; export default Recommendations; export interface RecommendationsParameters { itemIds?: string | string[]; variationId?: string; numResults?: number; section?: string; term?: string; filters?: Record; preFilterExpression?: FilterExpression; variationsMap?: VariationsMap; hiddenFields?: string[]; } declare class Recommendations { constructor(options: ConstructorClientOptions); options: ConstructorClientOptions; getRecommendations( podId: string, parameters?: RecommendationsParameters, userParameters?: UserParameters, networkParameters?: NetworkParameters ): Promise; getRecommendationPods( networkParameters?: NetworkParameters ): Promise; } /* Recommendations results returned from server */ export interface RecommendationsResponse extends Record { request: Partial; response: Partial; result_id: string; } export interface RecommendationsRequestType extends Record { num_results: number; item_id: string | string[]; variation_id: string; filters: { group_id: string; [key: string]: any; }; pod_id: string; } export interface RecommendationsResponseType extends Record { results: Partial[]; total_num_results: number; pod: { id: string; display_name: string; [key: string]: any; }; } export interface RecommendationsResultType extends Record { matched_terms: string[]; data: Record; value: string; is_slotted: boolean; labels: Record; strategy: { id: string; [key: string]: any; }; } export interface RecommendationPodsResponse extends Record { pods: RecommendationPod[]; total_count: number; } export interface PodStrategy extends Record { id: string; display_name: string; } export interface RecommendationPod extends Record { strategy: PodStrategy; id: string; display_name: string; name: string; created_at: string; updated_at: string; metadata_json: Record; }