import { KlevuSearchOptions, KlevuRecord, KlevuResponseQueryObject } from "@klevu/core";
import { EventEmitter } from "../../stencil-public-runtime";
import { KlevuProductCustomEvent, ViewportSize } from "../../components";
/**
 * Full recommendation banner solution
 * @slot default - The content of the banner
 */
export declare class KlevuRecommendations {
  #private;
  /**
   * When Recommndations data is available or updated
   */
  klevuData: EventEmitter<KlevuResponseQueryObject>;
  /**
   * Title of the recommendation
   */
  recommendationTitle?: string;
  /**
   * The ID of the recommendation
   */
  recommendationId: string;
  /**
   * For cart recommendation you need to provide product id's in cart
   */
  cartProductIds?: string[];
  /**
   * For category product recommendation you need to provide categery path
   */
  categoryPath?: string;
  /**
   * For similiar products recommendation you need to provide productId and itemGroupId
   */
  currentProductId?: string;
  /**
   * For similiar products recommendation you need to provide productId and itemGroupId
   */
  itemGroupId?: string;
  /**
   * Object to override and settings on search options
   */
  options?: KlevuSearchOptions;
  /**
   * The products to display
   */
  products: Array<KlevuRecord>;
  currentViewPortSize?: ViewportSize;
  /**
   * For Static banner in recommendations
   */
  imageDetails?: {
    url: string;
    altTag: string;
  };
  connectedCallback(): Promise<void>;
  componentWillLoad(): Promise<void>;
  productClick(event: KlevuProductCustomEvent<{
    product: Partial<KlevuRecord>;
    originalEvent: MouseEvent;
  }>): void;
  render(): any;
}
