import { OpenDirection } from '../menu/menu.types';
/**
 * A popover is an impermanent layer that is displayed on top of other content
 * when user taps an element that triggers the popover. This element can be
 * practically anything, a button, piece of text, and icon, etc.
 *
 * Popovers are nonmodal, thus they don't have a semi-transparent backdrop layer
 * that darkens the content below them. Also for the same reason, they can be
 * dismissed by tapping or clicking another part of the screen, but not by a
 * clicking a button or link on the popover itself.
 *
 * ## Usage
 * Use a popover to show **options** or **information** related to the trigger
 * onscreen. A typical use case for popovers is a tooltip, in which you show
 * help text or contextual information to users.
 *
 * Popovers are most appropriate on larger screens but can be used on smaller
 * screens too, as long as their content is responsive and takes into account
 * the context they are displayed on.
 *
 * When a popover is displayed, interactions with other controls are blocked,
 * until user dismisses the popover.
 *
 *
 * ## Layout
 * Popovers has only one slot in which you can import a custom web-component.
 *
 * :::note
 * You must make sure that web-components that you import into the slot has
 * a `width: 100%;` style so that it can horizontally stretch across the popover.
 *
 * However, `width` of the popover can be controlled by specifying a CSS variable
 * of `--popover-surface-width`. If you don't specify any width, the popover
 * will grow as wide as its content.
 * :::
 *
 * :::important
 * Do not make a popover too big. They should never take over the entire screen.
 * If your content is that big, you should probably be using a Modal instead.
 * :::
 *
 * @slot - Content to put inside the surface
 * @exampleComponent limel-example-popover-basic
 * @exampleComponent limel-example-popover-trigger-interaction
 * @exampleComponent limel-example-popover-styling
 */
export declare class Popover {
  /**
   * True if the content within the popover should be visible
   */
  open: boolean;
  /**
   * Decides the popover's location in relation to its trigger
   */
  openDirection: OpenDirection;
  /**
   * Emits an event when the component is closing
   */
  private close;
  private host;
  private portalId;
  constructor();
  protected watchOpen(): void;
  componentWillLoad(): void;
  componentDidRender(): void;
  private setupGlobalHandlers;
  render(): any;
  private globalClickListener;
  private getCssProperties;
  private handleGlobalKeyPress;
  private setTriggerAttributes;
}
//# sourceMappingURL=popover.d.ts.map