import { EventEmitter } from "../../stencil-public-runtime";
export declare class EzPopoverPlus {
  private _popOverCore;
  _host: HTMLElement;
  /**
   * Define que será fechado automaticamente quando o usuário clicar fora do conteúdo.
   */
  autoClose: boolean;
  /**
   * Ajusta o comportamento da largura do popover.
   */
  boxWidth: "full-width" | "fit-content";
  /**
   * Define se o ez-popover está aberto.
   */
  opened: boolean;
  /**
   * Define o tipo de overlay do popover.
   */
  overlayType: "medium" | "light" | "none";
  /**
   * Define o elemento de ancoragem.
   */
  anchorElement: Array<HTMLElement | string> | HTMLElement | string;
  /**
   * Define as opções do elemento.
   */
  options: IEzPopoverAnchorOptions;
  /**
   * Define se o elemento manterá o mesmo tamanho do componente de ancora.
   */
  useAnchorSize: boolean;
  /**
   * Define a largura mínima do elemento (apenas será considerada caso a propriedade useAnchorSize seja verdadeira).
   */
  minWidth: number;
  /**
   * Emitido quando acontece a alteração de estado do componente.
   */
  ezVisibilityChange: EventEmitter<boolean>;
  observeOpened(newValue: boolean): Promise<void>;
  /**
   * Atualiza a posição do popover.
   */
  updatePosition(top?: string, left?: string): Promise<void>;
  /**
   * Exibe o ez-popover.
   */
  show(top?: string | number, left?: string | number): Promise<void>;
  /**
   * Ancora a exibição do popOver a um elemento HTML.
   */
  showUnder(element: HTMLElement | string, options?: IEzPopoverAnchorOptions): Promise<void>;
  /**
   * Oculta o ez-popover.
   */
  hide(): Promise<void>;
  /**
   * Altera as opções.
  */
  setOptions(options: IEzPopoverAnchorOptions): Promise<void>;
  /**
   * Altera o elemento de ancoragem.
  */
  setAnchorElement(anchor: HTMLElement | string): Promise<void>;
  private getFirstElement;
  private buildElementId;
  private renderPopoverCore;
  render(): any;
}
export interface IEzPopoverAnchorOptions {
  horizontalGap?: number;
  verticalGap?: number;
  fromRight?: boolean;
}
