import { EventEmitter } from "../../stencil-public-runtime"; import { MoiSession, MoiProduct, MoiMessages } from "@klevu/core"; /** * Klevu MOI Application */ export declare class KlevuMoi { #private; session?: MoiSession; /** * Currently clicked product */ currentProduct?: MoiProduct; /** * All messages */ messages: MoiMessages; /** * Are we loading any messages */ loading: boolean; /** * Display state */ isShow: boolean; /** * Is currently open */ isOpen: boolean; el: HTMLKlevuMoiElement; /** * Override default API key */ apiKey?: string; /** * Start the MOI window open */ startOpen?: boolean; /** * When a product is clicked. By default does a full page redirect to product url if event is not cancelled. * * Use `event.preventDefault()` to cancel the redirect. * @param product */ klevuMoiProductClick: EventEmitter; /** * When the visibility of Moi window changes */ klevuMoiVisibilityChange: EventEmitter<"open" | "close">; /** By default redirect the page if product click is not cancelled */ onKlevuMoiProductClick(event: CustomEvent): void; connectedCallback(): Promise; /** * Initialize the MOI session and open window */ open(): Promise; close(): Promise; onMessage(): void; render(): any; }