import { FilterManager, KlevuFilterResultOptions, KlevuFilterResultSlider } from "@klevu/core"; import { EventEmitter } from "../../stencil-public-runtime"; import { KlevuColorSwatchOverride } from "../klevu-facet-list/klevu-facet-list"; import { KlevuUIGlobalSettings } from "../../utils/utils"; export type KlevuFacetMode = "checkbox" | "radio"; export type KlevuSelectionUpdatedEventDetail = { manager: FilterManager; filter?: { key: string; name: string; selected?: boolean; start?: string; end?: string; }; }; /** * Rendering items of single facet with all its options or a slider. * * Manager property must be set for this component to work. * * @csspart facet-heading Heading of the facet * @csspart facet-radio The radio button for selection of facet * @csspart facet-more-button The button to show more results * @csspart facet-option-count The count of results per option */ export declare class KlevuFacet { #private; el: HTMLKlevuFacetElement; /** * From which options to build facet. Single option value from Klevu SDK FilterManager. Either this or slider must be set. */ option?: KlevuFilterResultOptions; /** * From which slider to build facet. */ slider?: KlevuFilterResultSlider; /** * Originating filter manager which to modify. This is the most important property of the component. * It will be used to modify the filter state for queries. */ manager: FilterManager; /** * Which mode should facets be in */ mode: KlevuFacetMode; /** * Set predefined order for options. Unfound values are in original order in end */ customOrder?: string[]; /** * Should the facet be in accordion */ accordion?: boolean; /** * Start accordion open */ accordionStartOpen?: boolean; /** * Override label text with custom value */ labelOverride?: string; tMore: string; tAll: string; /** * The currency to show in the price slider */ priceSliderCurrency: string; /** * Converts the color filters to swatches */ useColorSwatch?: boolean; /** * Specific overrides for individual color swatch. * The overrides can be colors (hex or valid css colors) or a valid url to load. * ImageUrl takes precedence over color when both are specified. */ colorSwatchOverrides?: KlevuColorSwatchOverride; /** * Show all options */ showAll: boolean; settings?: KlevuUIGlobalSettings; /** * When filter selection is updated */ klevuFilterSelectionUpdate: EventEmitter; filterSelectionUpdate(event: any): void; connectedCallback(): Promise; render(): any; }