import { EventEmitter } from "../../stencil-public-runtime";
import { IcThemeMode } from "../../utils/types";
/**
 * @slot dialog-controls - Content will be place at the bottom of the dialog.
 * @slot heading - Content will be placed at the top of the dialog.
 * @slot label - Content will be placed above the dialog heading.
 * @slot alert - Content will be placed at the top of the content area of the dialog.
 */
export declare class Dialog {
    private backdropEl?;
    private contentArea;
    private contentAreaMutationObserver;
    private DATA_GETS_FOCUS;
    private DIALOG_CONTROLS;
    private dialogEl?;
    private dialogHeight;
    private focusAttemptCount;
    private focusedElementIndex;
    private interactiveElementList;
    private resizeObserver;
    private resizeTimeout;
    private sourceElement;
    el: HTMLIcDialogElement;
    dialogRendered: boolean;
    fadeIn: boolean;
    /**
     * If set to `false`, the dialog will not close when the backdrop is clicked.
     */
    closeOnBackdropClick?: boolean;
    /**
     * If 'true', sets the 'primary' or rightmost button to the destructive variant. Stops initial focus being set on the 'primary' or rightmost default or slotted button.
     */
    destructive?: boolean;
    /**
     * Sets the dismiss label tooltip and aria label.
     */
    dismissLabel?: string;
    /**
     * If set to `true`, the content area max height and overflow properties are removed allowing the dialog to stretch below the fold.
     * This prop also prevents popover elements from being cut off within the content area.
     */
    disableHeightConstraint?: boolean;
    /**
     * If set to `true`, the content area width property is removed, allowing content to take the full width of the dialog when using the large variant.
     */
    disableWidthConstraint?: boolean;
    /**
     * If `true`, the close button will not be displayed.
     */
    hideCloseButton?: boolean;
    /**
     * If set to `true`, default button controls will not be shown, but slotted dialog controls will still be displayed.
     */
    hideDefaultControls: boolean;
    /**
     * Sets the heading for the dialog.
     */
    heading?: string;
    /**
     * Sets the optional label for the dialog which appears above the heading.
     */
    label?: string;
    /**
     * If `true`, the dialog will be displayed.
     */
    open?: boolean;
    watchOpenHandler(): void;
    /**
     * Sets the maximum and minimum height and width for the dialog.
     */
    size?: "small" | "medium" | "large";
    /**
     * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
     */
    theme?: IcThemeMode;
    /**
     * Cancellation event emitted when default 'Cancel' button clicked or 'cancelDialog' method is called.
     */
    icDialogCancelled: EventEmitter<void>;
    /**
     * Emitted when dialog has closed.
     */
    icDialogClosed: EventEmitter<void>;
    /**
     * Confirmation event emitted when default 'Confirm' primary button clicked or 'confirmDialog' method is called.
     */
    icDialogConfirmed: EventEmitter<void>;
    /**
     * Emitted when dialog has opened.
     */
    icDialogOpened: EventEmitter<void>;
    disconnectedCallback(): void;
    componentDidLoad(): void;
    componentDidRender(): void;
    handleKeyboard(ev: KeyboardEvent): void;
    handleClick(ev: MouseEvent): void;
    /**
     * Cancels the dialog. Used by the default 'Cancel' button or can be called manually to trigger cancelling of dialog.
     */
    cancelDialog(): Promise<void>;
    /**
     * Confirms the dialog. Used by the default 'Confirm' button or can be called manually to trigger confirming of dialog.
     */
    confirmDialog(): Promise<void>;
    private dialogOpened;
    private runResizeObserver;
    private resizeObserverCallback;
    private removeSlotChangeListener;
    private setContentAreaMutationObserver;
    private setInitialFocus;
    private closeIconClick;
    private getInteractiveElements;
    private renderDialog;
    render(): any;
}
