import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime'; import type { ModalOption, ModalResponse } from 'q2-tecton-common/lib/types/modal'; /** * @name Modal * @category Platform * @summary Use for focused interactions that require user attention before continuing. * @slot content - A slot to display custom content in the modal body above the description. * @slot action - A slot to display up to four elements compatible with [Action Group](https://tecton.q2developer.com/design-system/q2-action-group) in the modal's footer. */ export declare class Q2Modal implements ComponentInterface { bodyOverflow: string; contentElement: HTMLDivElement; debouncedScroll: () => void; dialogElement: HTMLDialogElement; scheduledAfterRender: (() => void)[]; hostElement: HTMLElement; maxActionButtons: number; renderStatus: 'is-open' | 'is-closing' | 'is-opening'; /** * Controls visibility of the close button and whether the modal can be dismissed with the backdrop or Escape key. */ closable: boolean; /** * Allows HTML markup as modal content, but it will be sanitized for security purposes. */ customMarkup: string; /** * A plain text description of the modal. Use this to provide context or information to the user. */ description: string; /** * Whether the action buttons should take up the full width of the modal footer. */ fullWidthButton: boolean; /** * The icon to display at the top of the modal. [See Icon documentation](https://tecton.q2developer.com/design-system/q2-icon). */ icon: string; /** * An image URL to be displayed beneath the title. It renders with 100% width. */ imageSrc: string; /** * A plain text title of the modal displayed at the top. */ title: string; /** * Emitted when the modal backdrop is clicked. */ tctBackdropClick: EventEmitter; /** * Emitted when one of action buttons is clicked. */ tctClick: EventEmitter; /** * Emitted when the modal is closed. */ tctClose: EventEmitter; /** * Emitted when the modal is opened. */ tctOpen: EventEmitter; /** * Emitted when the modal has finished rendering. * @private */ tctReady: EventEmitter; disconnectedCallback(): void; componentDidLoad(): void; componentDidRender(): void; closeModal(data?: ModalResponse): Promise; openModal(option?: ModalOption): Promise; hasDialogTransition: () => boolean; initializeModal: () => void; onCancel: (event: Event) => void; onClick: (event: MouseEvent) => void; onContentScroll: () => void; render(): any; }