UNPKG

@relewise/web-components

Version:

Relewise is a next generation personalization SaaS-platform, which offers functionality within product- and content recommendations and personalized search. Our official Web Components provide simple and easy components for rendering personalized experien

743 lines (646 loc) 32.1 kB
import { BooleanAvailableFacetValue } from '@relewise/client'; import { BrandFacet } from '@relewise/client'; import { BrandFacetResult } from '@relewise/client'; import { BrandNameAndIdResultAvailableFacetValue } from '@relewise/client'; import { CategoryFacet } from '@relewise/client'; import { CategoryFacetResult } from '@relewise/client'; import { CategoryHierarchyFacet } from '@relewise/client'; import { CategoryHierarchyFacetResult } from '@relewise/client'; import { CategoryNameAndIdResultAvailableFacetValue } from '@relewise/client'; import { ContentAssortmentFacet } from '@relewise/client'; import { ContentAssortmentFacetResult } from '@relewise/client'; import { ContentDataBooleanValueFacet } from '@relewise/client'; import { ContentDataBooleanValueFacetResult } from '@relewise/client'; import { ContentDataDoubleRangeFacet } from '@relewise/client'; import { ContentDataDoubleRangeFacetResult } from '@relewise/client'; import { ContentDataDoubleRangesFacet } from '@relewise/client'; import { ContentDataDoubleRangesFacetResult } from '@relewise/client'; import { ContentDataDoubleValueFacet } from '@relewise/client'; import { ContentDataDoubleValueFacetResult } from '@relewise/client'; import { ContentDataIntegerValueFacet } from '@relewise/client'; import { ContentDataIntegerValueFacetResult } from '@relewise/client'; import { ContentDataObjectFacet } from '@relewise/client'; import { ContentDataObjectFacetResult } from '@relewise/client'; import { ContentDataStringValueFacet } from '@relewise/client'; import { ContentDataStringValueFacetResult } from '@relewise/client'; import { CSSResult } from 'lit'; import { DataObjectBooleanValueFacet } from '@relewise/client'; import { DataObjectBooleanValueFacetResult } from '@relewise/client'; import { DataObjectDoubleRangeFacet } from '@relewise/client'; import { DataObjectDoubleRangeFacetResult } from '@relewise/client'; import { DataObjectDoubleRangesFacet } from '@relewise/client'; import { DataObjectDoubleRangesFacetResult } from '@relewise/client'; import { DataObjectDoubleValueFacet } from '@relewise/client'; import { DataObjectDoubleValueFacetResult } from '@relewise/client'; import { DataObjectFacet } from '@relewise/client'; import { DataObjectFacetResult } from '@relewise/client'; import { DataObjectStringValueFacet } from '@relewise/client'; import { DataObjectStringValueFacetResult } from '@relewise/client'; import { DecimalNullableChainableRangeAvailableFacetValue } from '@relewise/client'; import { FacetBuilder } from '@relewise/client'; import { FilterBuilder } from '@relewise/client'; import { Int32AvailableFacetValue } from '@relewise/client'; import { LitElement } from 'lit'; import { PopularProductsRequest } from '@relewise/client'; import { PriceRangeFacet } from '@relewise/client'; import { PriceRangeFacetResult } from '@relewise/client'; import { PriceRangesFacet } from '@relewise/client'; import { PriceRangesFacetResult } from '@relewise/client'; import { ProductAssortmentFacet } from '@relewise/client'; import { ProductAssortmentFacetResult } from '@relewise/client'; import { ProductCategoryAssortmentFacet } from '@relewise/client'; import { ProductCategoryAssortmentFacetResult } from '@relewise/client'; import { ProductCategoryDataBooleanValueFacet } from '@relewise/client'; import { ProductCategoryDataBooleanValueFacetResult } from '@relewise/client'; import { ProductCategoryDataDoubleRangeFacet } from '@relewise/client'; import { ProductCategoryDataDoubleRangeFacetResult } from '@relewise/client'; import { ProductCategoryDataDoubleRangesFacet } from '@relewise/client'; import { ProductCategoryDataDoubleRangesFacetResult } from '@relewise/client'; import { ProductCategoryDataDoubleValueFacet } from '@relewise/client'; import { ProductCategoryDataDoubleValueFacetResult } from '@relewise/client'; import { ProductCategoryDataObjectFacet } from '@relewise/client'; import { ProductCategoryDataObjectFacetResult } from '@relewise/client'; import { ProductCategoryDataStringValueFacet } from '@relewise/client'; import { ProductCategoryDataStringValueFacetResult } from '@relewise/client'; import { ProductDataBooleanValueFacet } from '@relewise/client'; import { ProductDataBooleanValueFacetResult } from '@relewise/client'; import { ProductDataDoubleRangeFacet } from '@relewise/client'; import { ProductDataDoubleRangeFacetResult } from '@relewise/client'; import { ProductDataDoubleRangesFacet } from '@relewise/client'; import { ProductDataDoubleRangesFacetResult } from '@relewise/client'; import { ProductDataDoubleValueFacet } from '@relewise/client'; import { ProductDataDoubleValueFacetResult } from '@relewise/client'; import { ProductDataIntegerValueFacet } from '@relewise/client'; import { ProductDataIntegerValueFacetResult } from '@relewise/client'; import { ProductDataObjectFacet } from '@relewise/client'; import { ProductDataObjectFacetResult } from '@relewise/client'; import { ProductDataStringValueFacet } from '@relewise/client'; import { ProductDataStringValueFacetResult } from '@relewise/client'; import { ProductFacetResult } from '@relewise/client'; import { ProductRecommendationRequest } from '@relewise/client'; import { ProductRecommendationResponse } from '@relewise/client'; import { ProductResult } from '@relewise/client'; import { ProductSearchBuilder } from '@relewise/client'; import { ProductSearchResponse } from '@relewise/client'; import { ProductSettingsRecommendationBuilder } from '@relewise/client'; import { ProductsViewedAfterViewingProductRequest } from '@relewise/client'; import { PurchasedWithMultipleProductsRequest } from '@relewise/client'; import { PurchasedWithProductRequest } from '@relewise/client'; import { RecentlyPurchasedFacet } from '@relewise/client'; import { Recommender } from '@relewise/client'; import { RedirectResult } from '@relewise/client'; import { RelevanceModifierBuilder } from '@relewise/client'; import { RelewiseClientOptions } from '@relewise/client'; import { Searcher } from '@relewise/client'; import { SearchTermPredictionResult } from '@relewise/client'; import { SelectedProductPropertiesSettings } from '@relewise/client'; import { SelectedVariantPropertiesSettings } from '@relewise/client'; import { Settings } from '@relewise/client'; import { StringAvailableFacetValue } from '@relewise/client'; import { TargetedRecommendationConfigurations as TargetedRecommendationConfigurations_2 } from 'src/targetedRecommendationConfigurations'; import { TemplateResult } from 'lit'; import { Tracker } from '@relewise/client'; import { unsafeHTML } from 'lit-html/directives/unsafe-html.js'; import { User } from '@relewise/client'; import { VariantSpecificationFacet } from '@relewise/client'; import { VariantSpecificationFacetResult } from '@relewise/client'; export declare class App { useRecommendations(): App; useBehavioralTracking(): App; updateContextSettings(contextSettings: Partial<ContextSettings>): App; useSearch(options?: RelewiseUISearchOptions): App; registerSearchTarget(target: string, configuration: TargetedSearchConfiguration): App; registerRecommendationTarget(target: string, configuration: TargetedRecommendationConfiguration): App; } export declare type BatchingContextValue = { requests: { request: ProductRecommendationRequest; id: EventTarget | null; result?: ProductRecommendationResponse | null; }[]; }; export declare class BrandView extends LitElement { brandId: string | null; connectedCallback(): Promise<void>; } export declare class Button extends LitElement { buttonText: string | null; handleClick: () => void; connectedCallback(): void; render(): TemplateResult<1>; static styles: CSSResult[]; } export declare class ChecklistBooleanValueFacet extends ChecklistFacetBase { result: ProductDataBooleanValueFacetResult | null; handleChange(e: Event, item: BooleanAvailableFacetValue): void; getOptionDisplayValue(item: BooleanAvailableFacetValue): string; shouldOptionBeChecked(item: BooleanAvailableFacetValue): boolean; } export declare type CheckListFacet = BrandFacetResult | CategoryFacetResult | ProductDataStringValueFacetResult | ProductDataBooleanValueFacetResult | ProductAssortmentFacetResult | PriceRangesFacetResult | ProductDataDoubleRangesFacetResult | ProductDataDoubleValueFacetResult; export declare abstract class ChecklistFacetBase extends LitElement { abstract handleChange(e: Event, item: CheckListFacetValue): void; abstract getOptionDisplayValue(item: CheckListFacetValue): string; abstract shouldOptionBeChecked(item: CheckListFacetValue): boolean; result: CheckListFacet | null; label: string; selectedValues: string[]; showAll: boolean; clearSelectedValuesBound: () => void; connectedCallback(): void; disconnectedCallback(): void; clearSelectedValues(): void; updateUrlState(searchForProducts?: boolean): void; render(): TemplateResult<1> | undefined; static styles: CSSResult[]; } export declare type CheckListFacetValue = BrandNameAndIdResultAvailableFacetValue | StringAvailableFacetValue | BooleanAvailableFacetValue | Int32AvailableFacetValue | DecimalNullableChainableRangeAvailableFacetValue; export declare class ChecklistNumberValueFacet extends ChecklistFacetBase { result: ProductAssortmentFacetResult | ProductDataDoubleValueFacetResult | null; handleChange(e: Event, item: Int32AvailableFacetValue): void; getOptionDisplayValue(item: Int32AvailableFacetValue): string; shouldOptionBeChecked(item: BrandNameAndIdResultAvailableFacetValue | StringAvailableFacetValue | BooleanAvailableFacetValue | Int32AvailableFacetValue): boolean; } export declare class ChecklistObjectValueFacet extends ChecklistFacetBase { result: BrandFacetResult | CategoryFacetResult | null; handleChange(e: Event, item: BrandNameAndIdResultAvailableFacetValue | CategoryNameAndIdResultAvailableFacetValue): void; getOptionDisplayValue(item: BrandNameAndIdResultAvailableFacetValue | CategoryNameAndIdResultAvailableFacetValue): string; shouldOptionBeChecked(item: BrandNameAndIdResultAvailableFacetValue | CategoryNameAndIdResultAvailableFacetValue): boolean; } export declare class ChecklistRangesObjectValueFacet extends ChecklistFacetBase { result: PriceRangesFacetResult | ProductDataDoubleRangesFacetResult | null; handleChange(e: Event, item: DecimalNullableChainableRangeAvailableFacetValue): void; getOptionDisplayValue(item: DecimalNullableChainableRangeAvailableFacetValue): string; shouldOptionBeChecked(item: DecimalNullableChainableRangeAvailableFacetValue): boolean; } export declare class ChecklistStringValueFacet extends ChecklistFacetBase { result: ProductDataStringValueFacetResult | null; handleChange(e: Event, item: StringAvailableFacetValue): void; getOptionDisplayValue(item: StringAvailableFacetValue): string; shouldOptionBeChecked(item: StringAvailableFacetValue): boolean; } export declare function clearUrlState(): void; export declare class ContentCategoryView extends LitElement { idPath: string | null; connectedCallback(): Promise<void>; } export declare class ContentView extends LitElement { contentId: string | null; connectedCallback(): Promise<void>; } declare const context_2: { __context__: BatchingContextValue; }; export { context_2 as context } export declare interface ContextSettings { getUser: () => User; language: string; currency: string; } export declare const defaultExplodedVariants = 1; export declare const defaultProductProperties: Partial<SelectedProductPropertiesSettings>; export declare const Events: { contextSettingsUpdated: string; search: string; applyFacet: string; applySorting: string; loadMoreProducts: string; showLoadingSpinner: string; dimPreviousResult: string; searchingForProductsCompleted: string; registerProductRecommendation: string; }; export declare type Facet = ContentAssortmentFacet | ProductAssortmentFacet | ProductCategoryAssortmentFacet | BrandFacet | CategoryFacet | CategoryHierarchyFacet | ContentDataObjectFacet | ContentDataDoubleRangeFacet | ContentDataDoubleRangesFacet | ContentDataStringValueFacet | ContentDataBooleanValueFacet | ContentDataDoubleValueFacet | ContentDataIntegerValueFacet | DataObjectFacet | DataObjectDoubleRangeFacet | DataObjectDoubleRangesFacet | DataObjectStringValueFacet | DataObjectBooleanValueFacet | DataObjectDoubleValueFacet | PriceRangeFacet | PriceRangesFacet | ProductCategoryDataObjectFacet | ProductCategoryDataDoubleRangeFacet | ProductCategoryDataDoubleRangesFacet | ProductCategoryDataStringValueFacet | ProductCategoryDataBooleanValueFacet | ProductCategoryDataDoubleValueFacet | ProductDataObjectFacet | ProductDataDoubleRangeFacet | ProductDataDoubleRangesFacet | ProductDataStringValueFacet | ProductDataBooleanValueFacet | ProductDataDoubleValueFacet | ProductDataIntegerValueFacet | RecentlyPurchasedFacet | VariantSpecificationFacet; export declare interface FacetLocalization { save?: string; showMore?: string; showLess?: string; filter?: string; yes?: string; no?: string; } export declare type FacetResult = ProductAssortmentFacetResult | ContentAssortmentFacetResult | ProductCategoryAssortmentFacetResult | BrandFacetResult | CategoryFacetResult | CategoryHierarchyFacetResult | ContentDataObjectFacetResult | ContentDataDoubleRangeFacetResult | ContentDataDoubleRangesFacetResult | ContentDataStringValueFacetResult | ContentDataBooleanValueFacetResult | ContentDataDoubleValueFacetResult | ContentDataIntegerValueFacetResult | DataObjectFacetResult | DataObjectDoubleRangeFacetResult | DataObjectDoubleRangesFacetResult | DataObjectStringValueFacetResult | DataObjectBooleanValueFacetResult | DataObjectDoubleValueFacetResult | PriceRangeFacetResult | PriceRangesFacetResult | ProductCategoryDataObjectFacetResult | ProductCategoryDataDoubleRangeFacetResult | ProductCategoryDataDoubleRangesFacetResult | ProductCategoryDataStringValueFacetResult | ProductCategoryDataBooleanValueFacetResult | ProductCategoryDataDoubleValueFacetResult | ProductDataObjectFacetResult | ProductDataDoubleRangeFacetResult | ProductDataDoubleRangesFacetResult | ProductDataStringValueFacetResult | ProductDataBooleanValueFacetResult | ProductDataDoubleValueFacetResult | ProductDataIntegerValueFacetResult | VariantSpecificationFacetResult; export declare class Facets extends LitElement { facetResult: ProductFacetResult | null | undefined; labels: string[]; showFacets: boolean; showDimmingOverlay: boolean; handleResizeEventBound: () => void; handleDimPreviousResultEventBound: () => void; handleSearchingForProductsCompletedEventBound: () => void; connectedCallback(): void; disconnectedCallback(): void; handleResizeEvent(): void; handleDimPreviousResultEvent(): void; handleSearchingForProductsCompletedEvent(): void; renderFacet(label: string, facetResult: FacetResult, styling: string): TemplateResult<1>; render(): TemplateResult<1>; static styles: CSSResult[]; } export declare class FilterIcon extends LitElement { connectedCallback(): void; render(): TemplateResult<1>; static styles: CSSResult; } export declare interface Filters { product?: (builder: FilterBuilder) => void; } export declare function getNumberOfProductsToFetch(): number | null; export declare function getProductRecommendationBuilderWithDefaults<T extends ProductSettingsRecommendationBuilder>(createBuilder: (settings: Settings) => T, displayedAtLocation: string, target?: string | null): Promise<T>; export declare function getRecommender(options: RelewiseUIOptions): Recommender; export declare function getRelewiseContextSettings(displayedAtLocation: string): Settings; export declare function getRelewiseRecommendationTargetedConfigurations(): TargetedRecommendationConfigurations_2; export declare function getRelewiseSearchTargetedConfigurations(): TargetedSearchConfigurations; export declare function getRelewiseUIOptions(): RelewiseUIOptions; export declare function getRelewiseUISearchOptions(): RelewiseUISearchOptions | undefined; export declare function getSearcher(options: RelewiseUIOptions): Searcher; export declare function getTracker(options: RelewiseUIOptions): Tracker; export declare function idPathAsArray(idPath: string | null): string[] | null; export declare function initializeRelewiseUI(options: RelewiseUIOptions): App; export declare class LoadingSpinner extends LitElement { render(): TemplateResult<1>; static styles: CSSResult[]; } export declare interface LoadMoreLocalization { loadMore?: string; showing?: string; outOf?: string; products?: string; } export declare class LoadMoreProducts extends LitElement { hits: number | null; productsLoaded: number | null; loading: boolean; handleShowLoadingSpinnerEventBound: () => void; handleSearchingForProductsCompletedEventBound: () => void; connectedCallback(): void; disconnectedCallback(): void; handleShowLoadingSpinnerEvent(): void; handleSearchingForProductsCompletedEvent(): void; render(): TemplateResult<1> | undefined; static styles: CSSResult[]; } export declare class NumberRangeFacet extends LitElement { result: (ProductDataDoubleRangeFacetResult) | null; label: string; upperBound: number | null | undefined; lowerBound: number | null | undefined; connectedCallback(): void; handleLowerBoundChange(event: Event): void; handleUpperBoundChange(event: Event): void; save(): void; handleKeyEvent(event: KeyboardEvent): void; render(): TemplateResult<1> | undefined; static styles: CSSResult[]; } export declare class PopularProducts extends ProductRecommendationBase { sinceMinutesAgo: number; basedOn: 'MostPurchased' | 'MostViewed'; fetchProducts(): Promise<ProductRecommendationResponse | undefined>; buildRequest(): Promise<PopularProductsRequest>; } export declare class ProductCategoryView extends LitElement { idPath: string | null; connectedCallback(): Promise<void>; } export declare abstract class ProductRecommendationBase extends LitElement { target: string | null; numberOfRecommendations: number; displayedAtLocation?: string; providedData?: BatchingContextValue; products: ProductResult[] | null; abstract fetchProducts(): Promise<ProductRecommendationResponse | undefined> | undefined; abstract buildRequest(): Promise<ProductRecommendationRequest | undefined>; fetchAndUpdateProductsBound: () => Promise<void>; constructor(); connectedCallback(): Promise<void>; disconnectedCallback(): void; fetchAndUpdateProducts(): Promise<void>; render(): TemplateResult<1> | undefined; static styles: CSSResult; } export declare class ProductSearch extends LitElement { displayedAtLocation?: string; numberOfProducts: number; target: string | null; searchResult: ProductSearchResponse | null; products: ProductResult[]; page: number; rememberScrollPosition: boolean | undefined; abortController: AbortController; facetLabels: string[]; handleSearchEventBound: () => void; handleLoadMoreEventBound: () => void; handleScrollEventBound: () => void; connectedCallback(): Promise<void>; disconnectedCallback(): void; handleSearchEvent(): void; handleLoadMoreEvent(): void; handleScrollEvent(): void; search(shouldClearOldResult: boolean): Promise<void>; getSelectedValuesForFacet(facet: Facet): void; getSelectedRange(facet: Facet): void; getSelectedRanges(facet: Facet): void; getSelectedStrings(facet: Facet): void; setSearchResultOnSlotChilderen(): void; setDataOnNodes(nodes: Node[]): void; updated(): Promise<void>; render(): TemplateResult<1>; static styles: CSSResult[]; } export declare class ProductSearchBar extends LitElement { term: string | null; private debounceTimeoutHandlerId; connectedCallback(): void; handleKeyDown(event: KeyboardEvent): void; debouncedSetSearchTerm(term: string): void; setSearchTerm(term: string): void; render(): TemplateResult<1>; static styles: CSSResult[]; } export declare class ProductSearchOverlay extends LitElement { displayedAtLocation?: string; numberOfProducts: number; numberOfSearchTermPredictions: number; searchPageUrl?: string; results: SearchResult[] | null; redirects?: RedirectResult[] | null; term: string; selectedIndex: number; searchBarInFocus: boolean; resultBoxIsHovered: boolean; hasCompletedSearchRequest: boolean; productSearchResultHits: number; private debounceTimeoutHandlerId; private abortController; connectedCallback(): Promise<void>; setSearchTerm(term: string): void; handleKeyDown(event: KeyboardEvent): void; redirectToSearchPage(): void; handleActionOnResult(result?: SearchResult): void; search(searchTerm: string): Promise<void>; render(): TemplateResult<1>; static styles: CSSResult[]; } export declare class ProductSearchOverlayProduct extends LitElement { product: ProductResult | undefined | null; connectedCallback(): void; render(): TemplateResult<1> | undefined; renderTileContent(product: ProductResult): TemplateResult<1>; static styles: CSSResult; } export declare class ProductSearchOverlayResults extends LitElement { setSearchTerm: (term: string) => void; redirectToSearchPage: () => void; hits: number; noResultsMessage: string | null; results: SearchResult[] | null; selectedIndex: number; setResultOverlayHovered: (hovered: boolean) => void; connectedCallback(): void; render(): TemplateResult<1>; static styles: CSSResult[]; } export declare class ProductSearchResults extends LitElement { products: ProductResult[]; showLoadingSpinner: boolean; showDimmingOverlay: boolean; handleShowLoadingSpinnerEventBound: () => void; handleDimPreviousResultEventBound: () => void; handleSearchingForProductsCompletedEventBound: () => void; connectedCallback(): void; disconnectedCallback(): void; handleShowLoadingSpinnerEvent(): void; handleDimPreviousResultEvent(): void; handleSearchingForProductsCompletedEvent(): void; render(): TemplateResult<1> | undefined; static styles: CSSResult[]; } export declare class ProductSearchSorting extends LitElement { selectedOption: string; readSortingFromUrlBound: () => void; connectedCallback(): void; disconnectedCallback(): void; readSortingFromUrl(): void; setSelectedValue(event: Event): void; getOptionText(sortingValue: string): string; render(): TemplateResult<1>; static styles: CSSResult[]; } export declare class ProductsViewedAfterViewingProduct extends ProductRecommendationBase { productId: string | undefined; variantId: string | undefined; fetchProducts(): Promise<ProductRecommendationResponse | undefined>; buildRequest(): Promise<ProductsViewedAfterViewingProductRequest | undefined>; } export declare class ProductTile extends LitElement { product: ProductResult | null; connectedCallback(): void; render(): TemplateResult<1> | undefined; renderTileContent(product: ProductResult): TemplateResult<1>; static styles: CSSResult[]; } export declare class ProductView extends LitElement { productId: string | null; variantId: string | undefined; connectedCallback(): Promise<void>; } export declare class PurchasedWithMultipleProducts extends ProductRecommendationBase { private productAndVariantIds; connectedCallback(): Promise<void>; private parseProductAndVariantIds; fetchProducts(): Promise<ProductRecommendationResponse | undefined>; buildRequest(): Promise<PurchasedWithMultipleProductsRequest | undefined>; } export declare class PurchasedWithProduct extends ProductRecommendationBase { productId: string | undefined; variantId: string | undefined; fetchProducts(): Promise<ProductRecommendationResponse | undefined>; buildRequest(): Promise<PurchasedWithProductRequest | undefined>; } export declare enum QueryKeys { term = "rw-term", take = "rw-take", sortBy = "rw-sorting", facet = "rw-facet-", facetUpperbound = "rw-facet-upperbound-", facetLowerbound = "rw-facet-lowerbound-" } export declare function readCurrentUrlState(queryParamName: string): string | null; export declare function readCurrentUrlStateValues(queryParamName: string): string[]; export declare class RecommendationBatcher extends LitElement { data: BatchingContextValue; timeoutHandler: ReturnType<typeof setTimeout> | undefined; batchBound: () => Promise<void>; registerEventBound: (e: Event) => void; constructor(); connectedCallback(): Promise<void>; disconnectedCallback(): void; batch(): Promise<void>; registerEvent(e: Event): void; render(): TemplateResult<1>; } export declare function registerRecommendationTarget(target: string, configuration: TargetedRecommendationConfiguration): void; export declare function registerSearchTarget(target: string, configuration: TargetedSearchConfiguration): void; export declare interface RelevanceModifiers { product?: (builder: RelevanceModifierBuilder) => void; } export declare class RelewiseFacetBuilder { builder: FacetBuilder; private labels; constructor(builder: FacetBuilder); addFacet(facet: (builder: FacetBuilder) => void, options: { heading: string; }): this; getLabels(): string[]; } export declare interface RelewiseUIOptions { datasetId: string; apiKey: string; contextSettings: ContextSettings; selectedPropertiesSettings?: { product?: Partial<SelectedProductPropertiesSettings>; variant?: Partial<SelectedVariantPropertiesSettings>; }; clientOptions: RelewiseClientOptions; templates?: Templates; filters?: Filters; relevanceModifiers?: RelevanceModifiers; targets?: Targets; } export declare interface RelewiseUISearchOptions { filters?: SearchFilters; templates?: SearchTemplates; facets?: SearchFacets; localization?: SearchLocalization; rememberScrollPosition?: boolean; debounceTimeInMs?: number; explodedVariants?: number; } export declare class SearchBar extends LitElement { term: string; setSearchTerm: (term: string) => void; handleKeyEvent: (event: KeyboardEvent) => void; setSearchBarInFocus: (inFocus: boolean) => void; placeholder: string | null; connectedCallback(): void; focusSearchInput(): void; render(): TemplateResult<1>; static styles: CSSResult[]; } export declare interface SearchBarLocalization { search?: string; placeholder?: string; } export declare interface SearchFacets { product?: (builder: RelewiseFacetBuilder) => void; } export declare interface SearchFilters { product?: (builder: FilterBuilder) => void; } export declare class SearchIcon extends LitElement { connectedCallback(): void; render(): TemplateResult<1>; static styles: CSSResult; } export declare interface SearchLocalization { searchBar?: SearchBarLocalization; sortingButton?: SortingLocalization; loadMoreButton?: LoadMoreLocalization; facets?: FacetLocalization; searchResults?: SearchResultLocalization; } export declare class SearchResult { product?: ProductResult; searchTermPrediction?: SearchTermPredictionResult; redirect?: RedirectResult; showAllResults?: boolean; } export declare interface SearchResultLocalization { noResults?: string; showAllResults?: string; } export declare interface SearchTemplates { searchOverlayProductResult?: (product: ProductResult, extensions: TemplateExtensions) => Promise<TemplateResult<1>>; } export declare const SessionVariables: { scrollPosition: string; }; export declare class SortIcon extends LitElement { connectedCallback(): void; render(): TemplateResult<1>; static styles: CSSResult; } export declare enum SortingEnum { Relevance = "Relevance", SalesPriceAsc = "SalesPriceAsc", SalesPriceDesc = "SalesPriceDesc", AlphabeticallyAsc = "AlphabeticallyAsc", AlphabeticallyDesc = "AlphabeticallyDesc" } export declare interface SortingLocalization { sorting?: string; relevance?: string; salesPriceAscending?: string; salesPriceDescending?: string; alphabeticalAscending?: string; alphabeticalDescending?: string; } export declare type TargetedRecommendationConfiguration = { filters?: (builder: FilterBuilder) => void; relevanceModifiers?: (builder: RelevanceModifierBuilder) => void; }; export declare class TargetedRecommendationConfigurations { private templates; constructor(initialValues?: (builder: TargetedRecommendationConfigurations) => void); add(configuration: { target: string; configuration: TargetedRecommendationConfiguration; }): this; has(target: string): boolean; handle(target: string, builder: ProductSettingsRecommendationBuilder): void; } export declare type TargetedSearchConfiguration = { overwriteFacets?: (builder: RelewiseFacetBuilder) => void; filters?: (builder: FilterBuilder) => void; relevanceModifiers?: (builder: RelevanceModifierBuilder) => void; }; export declare class TargetedSearchConfigurations { private templates; constructor(initialValues?: (builder: TargetedSearchConfigurations) => void); add(configuration: { target: string; configuration: TargetedSearchConfiguration; }): this; has(target: string): boolean; hasOverwrittenFacets(target: string): boolean; handle(target: string, builder: ProductSearchBuilder): { facetLabels?: string[]; }; } export declare interface Targets { searchTargets?: (builder: TargetedSearchConfigurations) => void; recommendationTargets?: (builder: TargetedRecommendationConfigurations) => void; } export declare interface TemplateExtensions { html: (strings: TemplateStringsArray, ...values: unknown[]) => TemplateResult<1>; helpers: { formatPrice: (price: string | number | null | undefined) => string | number | null | undefined; unsafeHTML: typeof unsafeHTML; }; } export declare interface Templates { product?: (product: ProductResult, extensions: TemplateExtensions) => Promise<TemplateResult<1>>; } export declare const theme: CSSResult; export declare function updateContextSettings(contextSettings: Partial<ContextSettings>): void; export declare function updateUrlState(queryParamName: string, value: string | null): void; export declare function updateUrlStateValues(queryParamName: string, values: string[]): void; export declare function useBehavioralTracking(): void; export declare function useRecommendations(): void; export declare function useSearch(options?: RelewiseUISearchOptions): void; export declare class XIcon extends LitElement { connectedCallback(): void; render(): TemplateResult<1>; static styles: CSSResult; } export { }