import { NetworkParameters, UserParameters, Collection, ConstructorClientOptions, Facet, Feature, Group, RequestFeature, RequestFeatureVariant, ResultSources, SortOption, FmtOptions, FilterExpression, VariationsMap, } from '.'; export default Browse; export interface BrowseParameters { page?: number; offset?: number; resultsPerPage?: number; filters?: Record; sortBy?: string; sortOrder?: string; section?: string; fmtOptions?: FmtOptions; preFilterExpression?: FilterExpression; hiddenFields?: string[]; hiddenFacets?: string[]; variationsMap?: VariationsMap; qsParam?: Record; } declare class Browse { constructor(options: ConstructorClientOptions); options: ConstructorClientOptions; getBrowseResults( filterName: string, filterValue: string, parameters?: BrowseParameters, userParameters?: UserParameters, networkParameters?: NetworkParameters ): Promise; getBrowseResultsForItemIds( itemIds: string[], parameters?: Omit, userParameters?: UserParameters, networkParameters?: NetworkParameters ): Promise; getBrowseGroups( parameters?: Pick, userParameters?: UserParameters, networkParameters?: NetworkParameters ): Promise; getBrowseFacets( parameters?: Pick< BrowseParameters, 'page' | 'offset' | 'section' | 'fmtOptions' | 'resultsPerPage' >, userParameters?: UserParameters, networkParameters?: NetworkParameters ): Promise; getBrowseFacetOptions( facetName: string, parameters?: Pick, userParameters?: UserParameters, networkParameters?: NetworkParameters ): Promise; } /* Browse results returned from server */ interface BrowseResponse extends Record { request?: Partial; response?: Partial; result_id?: string; ad_based?: boolean; } export type GetBrowseResultsResponse = BrowseResponse; export type GetBrowseResultsForItemIdsResponse = BrowseResponse; export type GetBrowseGroupsResponse = BrowseResponse< Pick< GetBrowseResultsResponseData, 'result_sources' | 'groups' | 'refined_content' > >; export type GetBrowseFacetsResponse = BrowseResponse< Pick >; export type GetBrowseFacetOptionsResponse = BrowseResponse< Pick >; export interface GetBrowseResultsResponseData extends Record { result_sources: Partial; facets: Partial[]; groups: Partial[]; results: Partial[]; sort_options: Partial[]; refined_content: Record[]; total_num_results: number; features: Partial[]; collection: Partial; } export interface BrowseResultData extends Record { matched_terms: string[]; data: { id: string; [key: string]: any; }; value: string; is_slotted: false; labels: Record; variations: Record[]; variations_map: Record | Record[]; } export interface BrowseRequestType extends Record { browse_filter_name: string; browse_filter_value: string; filter_match_types: Record; filters: Record; fmt_options: Record; num_results_per_page: number; page: number; section: string; sort_by: string; sort_order: string; term: string; query: string; features: Partial; feature_variants: Partial; searchandized_items: Record; variations_map?: VariationsMap; pre_filter_expression?: FilterExpression; }