import { FilterManager, KlevuRecord, KlevuResponseQueryObject, KlevuSearchSorting, KMCRootObject, KlevuBanner, KlevuSearchOptions } from "@klevu/core"; import { EventEmitter } from "../../stencil-public-runtime"; import { KlevuPaginationCustomEvent, KlevuProductCustomEvent, ViewportSize } from "../../components"; import { KlevuProductOnProductClick } from "../klevu-product/klevu-product"; type NoResultsOptions = KMCRootObject["klevu_uc_userOptions"]["noResultsOptions"]; type Banner = NoResultsOptions["banners"][0]; /** * Full app component for search landing page * * @slot header - Header container * @slot footer - Footer container * @slot content - Product grid items including the grid container * @slot facets - Sidebar of facets content * @slot noResults - Show message when no results found * @slot topbanners - Top banner content * @slot bottombanners - Bottom banner content * * @csspart search-landing-page-header The header container * @csspart search-landing-page-content The content container * @csspart search-landing-page-sidebar The sidebar container * @csspart search-landing-page-footer The footer container */ export declare class KlevuSearchLandingPage { #private; /** * How many results to display on a page */ limit: number; /** * What term was used for search */ term: string; /** * In which order to set the products */ sort?: KlevuSearchSorting; /** * How many products to display in filters */ filterCount?: number; /** * Order filters in a customer order */ filterCustomOrder?: { [key: string]: string[]; }; /** * Use pagination instead of loading more */ usePagination?: boolean; /** * Should use infinite scroll component to trigger load next */ useInfiniteScroll?: boolean; /** * Show ratings */ showRatings?: boolean; /** * Show ratings count */ showRatingsCount?: boolean; /** * The title of the page */ tSearchTitle: string; /** * Text of load more button */ tLoadMore: string; /** * Enable personalization */ usePersonalisation?: boolean; /** * How many products to show in popular products */ popularProductsResultCount: number; /** * Show the quick search box at the top of the page */ showSearch?: boolean; /** * Hide filters on results page */ hideFilters?: boolean; /** * Specify whether to show checkboxes or radio buttons for filters */ useMultiSelectFilters?: boolean; /** * Enable Klaviyo integration */ useKlaviyo?: boolean; /** * Show price as options */ showPriceAsSlider?: boolean; /** * The factor to use to generate the ranges */ priceInterval: number; /** * Hides price from search results */ hidePrice?: boolean; /** * Show variants count */ showVariantsCount: boolean; /** * To update the pagination and filters to the url automatically */ autoUpdateUrl?: boolean; /** * Object to override and settings on search options */ options?: KlevuSearchOptions; /** * Pass custom options for the sort dropdown */ sortOptions?: Array<{ value: KlevuSearchSorting; text: string; }>; /** * Used to enable loading indicator */ useLoadingIndicator: boolean; /** * Hides brand from search results */ hideBrand?: boolean; /** * Hides description from search results */ hideDescription?: boolean; /** * Hides hover image from search results */ hideHoverImage?: boolean; /** * Hides image from search results */ hideImage?: boolean; /** * Hides name from search results */ hideName?: boolean; /** * Do not show swatches in products in search results */ hideSwatches?: boolean; /** * Caption to show if product is out of stock in products in search results */ outOfStockCaption?: string; /** * Show add to cart button in products in search results */ showAddToCart?: boolean; /** * To show the product code next to product name in search results */ showProductCode?: boolean; /** * Text for add to cart button in search results */ tAddToCart?: string; /** * Text to be added after the price. Usually used to indicate that does the price include VAT or not in search results. */ vatCaption?: string; results: Array; manager: FilterManager; currentViewPortSize?: ViewportSize; infiniteScrollingPaused?: boolean; loading?: boolean; noResultsMessage: string; trendingProducts: KlevuRecord[]; noResultsBannerDetails: Banner[]; searchResultTopBanners: KlevuBanner[]; searchResultBottomBanners: KlevuBanner[]; connectedCallback(): Promise; init(): Promise; termChanged(oldValue: string, newValue: string): void; loadMore(): Promise; paginationChange(event: KlevuPaginationCustomEvent): Promise; productClickHandler(event: KlevuProductCustomEvent): void; filterManagerFiltersUpdated(): void; klevuData: EventEmitter<{ resultObject: KlevuResponseQueryObject; records: KlevuRecord[]; manager: FilterManager; }>; componentDidLoad(): Promise; render(): any; } export {};