import { LitElement } from 'lit';
import type { Constructor } from '../common/mixins/constructor.js';
export interface IgcDialogComponentEventMap {
    igcClosing: CustomEvent<void>;
    igcClosed: CustomEvent<void>;
}
declare const IgcDialogComponent_base: Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcDialogComponentEventMap>> & Constructor<LitElement>;
/**
 * Represents a Dialog component.
 *
 * @element igc-dialog
 *
 * @fires igcClosing - Emitter just before the dialog is closed.
 * @fires igcClosed - Emitted after closing the dialog.
 *
 * @slot - Renders content inside the default slot.
 * @slot title - Renders the title of the dialog header.
 * @slot message - Renders the message content of the dialog.
 * @slot footer - Renders the dialog footer.
 *
 * @csspart base - The base wrapper of the dialog.
 * @csspart title - The title container.
 * @csspart footer - The footer container.
 * @csspart overlay - The overlay.
 */
export default class IgcDialogComponent extends IgcDialogComponent_base {
    static readonly tagName = "igc-dialog";
    static styles: import("lit").CSSResult[];
    static register(): void;
    private static readonly increment;
    private titleId;
    private dialogRef;
    private animationPlayer;
    /**
     * Backdrop animation helper.
     */
    private animating;
    private get dialog();
    private titleElements;
    private messageElements;
    private footerElements;
    /**
     * Whether the dialog should be kept open when pressing the 'ESCAPE' button.
     * @attr keep-open-on-escape
     */
    keepOpenOnEscape: boolean;
    /**
     * Whether the dialog should be closed when clicking outside of it.
     * @attr close-on-outside-click
     */
    closeOnOutsideClick: boolean;
    /**
     * Whether to hide the default action button for the dialog.
     *
     * When there is projected content in the `footer` slot this property
     * has no effect.
     * @attr hide-default-action
     */
    hideDefaultAction: boolean;
    /**
     * Whether the dialog is opened.
     * @attr
     */
    open: boolean;
    /**
     * Sets the title of the dialog.
     * @attr
     */
    title: string;
    /** Sets the return value for the dialog. */
    returnValue: string;
    protected handleOpenState(): void;
    protected createRenderRoot(): HTMLElement | DocumentFragment;
    protected firstUpdated(): void;
    private toggleAnimation;
    private _hide;
    /** Opens the dialog. */
    show(): Promise<boolean>;
    /** Closes the dialog. */
    hide(): Promise<boolean>;
    /** Toggles the open state of the dialog. */
    toggle(): Promise<boolean>;
    private handleCancel;
    private handleClick;
    private emitClosing;
    protected formSubmitHandler: (e: SubmitEvent) => void;
    private handleContentChange;
    protected render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'igc-dialog': IgcDialogComponent;
    }
}
export {};
