import { EventEmitter } from '../../stencil-public-runtime';
import { DialogType } from "./DialogType";
declare class Message {
  title: string;
  message: string;
  dialogType: DialogType;
  confirm: boolean;
  icon: string;
  labelCancel: string;
  labelConfirm: string;
  btnConfirmDanger: boolean;
  callBack: Function;
  beforeClose: Function;
  constructor(title: string, message: string, dialogType: DialogType, confirm: boolean, icon: string, labelCancel: string, labelConfirm: string, btnConfirmDanger: boolean, callBack: Function, beforeClose: Function);
}
export declare class EzDialog {
  _element: HTMLElement;
  private readonly PRIMARY_BUTTON_ID;
  private btnConfirmDanger;
  private _messageQueue;
  private _currentMessage;
  private _overlayRef;
  private _overlayId;
  private _canFocusOnPrimaryBtn;
  private _lastActiveElement;
  private _keyboardManager;
  private i18n;
  /**
   * Define se o ez-dialog será utilizado no modo de confirmação.
   */
  confirm: boolean;
  /**
   * Define aparência do ez-dialog.
   */
  dialogType: DialogType;
  /**
   * Define a menssagem exibida no ez-dialog.
   */
  message: string;
  /**
   * Define se o ez-dialog está aberto.
   */
  opened: boolean;
  /**
   * Define o ícone a ser exibido.
   */
  personalizedIconPath: string;
  /**
   * Texto a ser apresentado como título do campo.
   */
  ezTitle: string;
  /**
   * Emitido ao cancelar o ez-dialog.
   */
  ezCancel: EventEmitter<boolean>;
  /**
   * Emitido ao confirmar o ez-dialog.
   */
  ezAccept: EventEmitter<boolean>;
  /**
  * Define função a ser executada antes de fechar o modal
  */
  beforeClose: Function;
  observeConfig(newValue: boolean, oldValue: boolean): void;
  manageOverflow(): void;
  private manageOverlay;
  private handleButtonClick;
  /**
   * Exibe o ez-dialog.
   */
  show(title: string, message: string, dialogType: DialogType, confirm: boolean, icon: string, labelCancel: string, labelConfirm: string, btnConfirmDanger: boolean, beforeClose: Function): Promise<boolean>;
  isCritical(dialogType: DialogType): boolean;
  getIconElement(message: Message): any;
  getIconClass(dialogType: DialogType): string;
  getIconName(message: Message): string;
  getTypeIndicatorElement(message: Message): any;
  getClassIconIndicator(dialogType: DialogType): string;
  getClassContainer(message: Message): "dialog__container dialog__container--default" | "dialog__container";
  getClassTitleLabel(message: Message): "title title__label title__label--no-icon" | "title title__label";
  componentWillLoad(): Promise<void>;
  componentWillRender(): void;
  componentDidLoad(): void;
  componentDidRender(): void;
  private focusOnDialog;
  private handleFocusOnPrimaryButton;
  private focusOnPrimaryButton;
  disconnectedCallback(): void;
  render(): any;
}
export {};
