import { FilterManager, KlevuBanner, KlevuMerchandisingOptions, KlevuRecord, KlevuResponseQueryObject, KlevuSearchSorting } from "@klevu/core"; import { EventEmitter } from "../../stencil-public-runtime"; import { KlevuProductCustomEvent } from "../../components"; import { KlevuProductOnProductClick } from "../klevu-product/klevu-product"; import { ViewportSize } from "../klevu-util-viewport/klevu-util-viewport"; /** * Full merchandising app to power up your product grid pages * * @slot header - Header container * @slot footer - Footer container * @slot content - Product grid items including the grid container * @slot facets - Sidebar of facets content * @slot topbanners - Top banner content * @slot bottombanners - Bottom banner content * * @csspart merchandising-sidebar - Sidebar container * @csspart merchandising-header - Header container * @csspart merchandising-content - Content container * @csspart merchandising-footer - Footer container */ export declare class KlevuMerchandising { #private; /** * Should display pagination instead of load next */ usePagination?: boolean; /** * Should use infinite scroll component to trigger load next */ useInfiniteScroll?: boolean; /** * Count of products for page */ limit: number; /** * Which category products */ category: string; /** * Category title */ categoryTitle: string; /** * Text for load more button */ tLoadMore: string; /** * Order of results */ sort?: KlevuSearchSorting; /** * How many filters per facet to show */ filterCount?: number; /** * Object to override and settings on search options */ options?: KlevuMerchandisingOptions; /** * Order filters in given order */ filterCustomOrder?: { [key: string]: string[]; }; /** * Pass custom options for the sort dropdown */ sortOptions?: Array<{ value: KlevuSearchSorting; text: string; }>; /** * Show ratings */ showRatings?: boolean; /** * Show ratings count */ showRatingsCount?: boolean; /** * Enable personalisation */ usePersonalisation?: boolean; /** * To update the pagination and filters to the url automatically */ autoUpdateUrl?: boolean; /** * Overrides KMC setting to use ABtest for results */ useABTest?: boolean; /** * Used to enable loading indicator */ useLoadingIndicator: boolean; /** * Hides price from merchandising */ hidePrice?: boolean; /** * Show variants count in merchandising */ showVariantsCount: boolean; /** * Hides brand from merchandising */ hideBrand?: boolean; /** * Hides description from merchandising */ hideDescription?: boolean; /** * Hides hover image from merchandising */ hideHoverImage?: boolean; /** * Hides image from merchandising */ hideImage?: boolean; /** * Hides name from merchandising */ hideName?: boolean; /** * Do not show swatches in products in merchandising */ hideSwatches?: boolean; /** * Caption to show if product is out of stock in products in merchandising */ outOfStockCaption?: string; /** * Show add to cart button in products in merchandising */ showAddToCart?: boolean; /** * To show the product code next to product name in merchandising */ showProductCode?: boolean; /** * Text for add to cart button in merchandising */ tAddToCart?: string; /** * Text to be added after the price. Usually used to indicate that does the price include VAT or not in merchandising. */ vatCaption?: string; currentViewPortSize?: ViewportSize; results: Array; manager: FilterManager; loading: boolean; infiniteScrollingPaused?: boolean; searchResultTopBanners: KlevuBanner[]; searchResultBottomBanners: KlevuBanner[]; el: HTMLElement; klevuData: EventEmitter<{ resultObject: KlevuResponseQueryObject; records: KlevuRecord[]; manager: FilterManager; }>; connectedCallback(): Promise; componentWillLoad(): Promise; watchPropHandler(newValue: string, oldValue: string): Promise; infiniteScrollLoadMoreHandler(): void; infiniteLoadPausedHandler(): void; productClickHandler(event: KlevuProductCustomEvent): void; componentDidLoad(): Promise; filterManagerFiltersUpdated(): void; render(): any; }