import { Navigation, RangeRefinement, Record, Refinement, Results, SelectedRangeRefinement, SelectedValueRefinement, SortType, Template, ValueRefinement, Zone } from 'groupby-api'; import Actions from '../actions'; import Store from '../store'; export declare const MAX_RECORDS = 10000; declare namespace SearchAdapter { const extractQuery: ({ correctedQuery: corrected, didYouMean, originalQuery: original, relatedQueries: related, rewrites }: Results) => Actions.Payload.Query; const extractRefinement: ({ type, value, low, high, count: total }: RangeRefinement & ValueRefinement) => Store.Refinement; const extractNavigationSort: (sort: SortType) => Store.Sort; const extractNavigation: (navigation: Navigation) => Store.Navigation; const refinementsMatch: (lhs: Store.Refinement, rhs: SelectedValueRefinement | SelectedRangeRefinement | ValueRefinement | RangeRefinement, type?: string) => boolean; const mergeSelectedRefinements: (available: Store.Navigation, selected: Navigation) => void; const pruneRefinements: (navigations: Store.Navigation[], storeSection: string, state: Store.State) => Store.Navigation[]; const filterExcludedRefinements: (refinements: Refinement[]) => Refinement[]; const filterNavigations: (navigations: Navigation[]) => Navigation[]; const combineNavigations: ({ availableNavigation: available, selectedNavigation: selected }: Results) => Store.Navigation[]; const extractZone: (zone: Zone) => Store.Zone; const extractTemplate: (template?: Template) => Store.Template; const extractRecordCount: (recordCount: number) => number; const extractPage: (state: Store.State, totalRecords: number, current?: number, pageSize?: number) => Actions.Payload.Page; const extractData: (products: Store.ProductWithMetadata[]) => Store.Product[]; const extractAllMeta: (product: Record | Store.Product) => any; const augmentProducts: (results: Results) => { meta: { collection: string; }; index: number; data: any; }[]; } export default SearchAdapter;