import { EventEmitter } from '../../stencil-public-runtime';
/**
 * Outputs a modal which is a dialog that appears on top of the main content and
 * moves the system into a special mode requiring user interaction. This dialog
 * disables the main content until the user explicitly interacts with the modal
 * dialog. Modals can be used to fragment a complex workflow into simpler steps.
 * Use modal dialogs to ask for information that, when provided, could
 * significantly lessen users’ work or effort. Do not use modal dialogs for
 * nonessential information that is not related to the current user flow.
 *
 * This component uses BsTransition (see usage examples).
 */
export declare class BsModal {
  /**
   * Whether or not this is an "alert" type modal. Adds `role="alertdialog"`
   * instead of just `"dialog"`.
   */
  alert: boolean;
  /** Whether or not to include a "close" button at the top of modal content. */
  closeButton: boolean;
  /**
   * Whether or not the enter transition should be controlled manually. Useful
   * when the enter transition needs to be triggered manually (e.g. \`v-show\`
   * in Vue).
   */
  enterControlled: boolean;
  /**
   * Only used when \`enterControlled\` is \`true\`. When ready to play the
   * enter transition, set this to \`true\`.
   */
  enterTrigger: boolean;
  /**
   * If desired, leave transition needs to be triggered manually. Set this to
   * \`true\` when ready to fire leave transition.
   */
  leaveTrigger: boolean;
  /** Emits when the user clicks the "close" button or presses the "Escape" key. */
  close: EventEmitter;
  /**
   * Emits when the enter transition has ended. The element should be fully
   * rendered by now and may be manipulated (e.g. setting focus).
   */
  enterend: EventEmitter;
  /**
   * Only emits when \`leaveTrigger\` is toggled and the leave transition has
   * ended. The element can be fully removed from the DOM now.
   */
  leaveend: EventEmitter;
  isVisible: boolean;
  /** Close the modal on Escape key. */
  handleEscape(ev: KeyboardEvent): void;
  handleEnterEnd(): void;
  render(): any;
}
