import { SearchRequestModel, SearchResponseModelResult, SearchResponseModelPagination, SearchResponseModelSearchMatchTypeEnum, SearchResponseModelMerchandising, SearchResponseModelResultBadges, AutocompleteRequestModel } from '@searchspring/snapi-types'; type sortingOption = { field: string; direction: string; label: string; active?: number; }; type rawResult = { badges?: SearchResponseModelResultBadges[]; brand?: string; collection_handle?: string[]; collection_id?: string[]; handle?: string; id: string; imageUrl: string; intellisuggestData?: string; intellisuggestSignature?: string; msrp?: string; name: string; price: string; product_type?: string[]; product_type_unigram?: string; sku: string; ss_available?: string; ss_best_selling?: string; ss_days_since_published?: string; ss_id?: string; ss_image_hover?: string; ss_images?: string[]; ss_inventory_count?: string; ss_tags?: string[]; thumbnailImageUrl?: string; uid?: string; url?: string; children?: []; }; type facetValue = { active: boolean; type: string; value: string; label: string; count: number; low?: string | number; high?: string | number; }; type facet = { hierarchyDelimiter?: string; multiple?: string; active?: any; count?: number; high?: string; low?: string; field: string; label: string; type: null | string; collapse: number; facet_active: number; values: facetValue[]; step?: number; filtered?: boolean; range?: string[]; }; type breadcrumb = { field: string; label: string; filterLabel: string; filterValue: string; removeFilters: []; removeRefineQuery: []; }; export type searchResponseType = { responseId: string; pagination: { totalResults: number; begin: number; end: number; currentPage: number; totalPages: number; previousPage: number; nextPage: number; perPage: number; defaultPerPage: number; }; sorting: { options: sortingOption[]; }; resultLayout?: string; results: rawResult[]; facets: facet[]; breadcrumbs?: breadcrumb[]; filterSummary: { field: string; filterLabel: string; filterValue: string; label: string; value: { rangeHigh?: string | number; rangeLow?: string | number; low?: string | number; high?: string | number; } | string; }[]; merchandising: { redirect: string; is_elevated: string[]; elevated: any[]; removed: string[]; content: object; facets: any[]; facetsHide: any[]; experiments?: any[]; variants?: []; personalized?: boolean; triggeredCampaigns?: { id: string; title: string; type: string; }[]; }; didYouMean?: { query: string; }; query?: { matchType?: SearchResponseModelSearchMatchTypeEnum; corrected?: string; original?: string; }; }; export declare function transformSearchResponse(response: searchResponseType, request: SearchRequestModel | AutocompleteRequestModel): any; export declare namespace transformSearchResponse { var pagination: (response: searchResponseType) => { pagination: SearchResponseModelPagination; }; var results: (response: searchResponseType) => { results: SearchResponseModelResult[]; }; var result: (rawResult: rawResult, response: searchResponseType) => SearchResponseModelResult; var filters: (response: searchResponseType) => any; var facets: (response: searchResponseType, request?: AutocompleteRequestModel | SearchRequestModel) => { facets: any[]; }; var sorting: (response: searchResponseType) => { sorting: { field: string; direction: string; }[]; }; var merchandising: (response: searchResponseType) => { merchandising: SearchResponseModelMerchandising; }; var search: (response: searchResponseType, request: AutocompleteRequestModel | SearchRequestModel) => { search: { query?: string | undefined; didYouMean?: string | undefined; matchType?: string | undefined; originalQuery?: string | undefined; }; }; var tracking: (response: searchResponseType) => { tracking: { responseId: string; }; }; } export {}; //# sourceMappingURL=searchResponse.d.ts.map