import { Placement } from "@floating-ui/dom";
import { EventEmitter } from "../../stencil-public-runtime";
/**
 * Popup component where clicking origin component popups the the content
 *
 * @slot origin - Popoup origin that opens content of popup
 * @slot content - Content of the popup
 *
 * @csspart popup-origin - Origin component
 * @csspart popup-content - Content component
 */
export declare class KlevuPopup {
  #private;
  el?: HTMLKlevuPopupElement;
  dialogRef?: HTMLDialogElement;
  /**
   * Initially show the popup
   */
  startOpen?: boolean;
  /**
   * Clicking origin again will close the popup
   */
  toggle?: boolean;
  /**
   * Open content when origin component is focused
   */
  openAtFocus: boolean;
  /**
   * Close popup when clicking outside content area
   */
  closeAtOutsideClick: boolean;
  /**
   * Set width of the popup content
   */
  popupWidth?: number;
  /**
   * Anchor popup to left or right of page
   */
  anchor: Placement;
  /**
   * Elevation of the popup. 0-3.
   */
  elevation: number;
  /**
   * How many pixels to offset the popup from origin
   */
  offset: number;
  /**
   * Darken background when popup is open
   */
  useBackground: boolean;
  /**
   * Element to anchor popup to. If not set popup is anchored to origin slot
   */
  originElement?: HTMLElement;
  /**
   * Expand popup to full size of the screen when popup is smaller that requested width
   */
  fullscreenOnMobileSize?: boolean;
  /**
   * When popup is opened this event is emitted
   */
  klevuPopupOpen: EventEmitter<void>;
  klevuPopupClose: EventEmitter<void>;
  /**
   * Opens the popup
   */
  openModal(): Promise<void>;
  /**
   * Closes the popup
   */
  closeModal(): Promise<void>;
  componentDidLoad(): void;
  detachedCallback(): void;
  render(): any;
}
