import { PropertyValueMap } from "lit";
import SgdsElement from "../../base/sgds-element";
import SgdsCloseButton from "../CloseButton/sgds-close-button";
/**
 * @summary The modal component inform users about a specific task and may contain critical information which users then have to make a decision.
 *
 * @slot default - The content of the Modal's body.
 * @slot title - The title of the Modal.
 * @slot description - The description of the Modal.
 * @slot footer - The content of the Modal's footer, typically used to pass in buttons for call to action.
 *
 * @event sgds-close - Emitted when the modal is called to close via mouseclick of close button, overlay or via keyboard esc key
 * @event sgds-show - Emitted when the modal opens
 * @event sgds-hide - Emitted when the modal closes
 * @event sgds-after-show - Emitted after modal opens and the animations has completed
 * @event sgds-after-hide - Emitted after modal closes and the animations has completed
 *
 */
export declare class SgdsModal extends SgdsElement {
    static styles: import("lit").CSSResult[];
    /**@internal */
    static dependencies: {
        "sgds-close-button": typeof SgdsCloseButton;
    };
    /**@internal */
    dialog: HTMLElement;
    /**@internal */
    panel: HTMLElement;
    /**@internal */
    overlay: HTMLElement;
    /**@internal */
    heading: HTMLElement;
    /**@internal */
    private readonly hasSlotController;
    /**@internal */
    private modal;
    /**@internal */
    private originalTrigger;
    private _resizeHandler;
    /**Indicates whether or not the modal is open. You can use this in lieu of the show/hide methods. */
    open: boolean;
    /** Removes the default animation when opening and closing of modal */
    noAnimation: boolean;
    /** Specifies a small, medium, large or fullscreen modal, the size is medium by default. */
    size: "sm" | "md" | "lg" | "xl" | "fullscreen";
    /** Used only for SSR to indicate the presence of the `footer` slot. */
    hasFooterSlot: boolean;
    connectedCallback(): void;
    disconnectedCallback(): void;
    firstUpdated(changedProperties: PropertyValueMap<this>): void;
    updated(): void;
    private _debounce;
    /** Handle the window resize event. */
    private _onWindowResize;
    /**  Add the resize event listener. */
    private _addResizeListener;
    /** Remove the resize event listener. */
    private _removeResizeListener;
    /** Shows the dialog. */
    show(): Promise<void>;
    /** Hides the dialog */
    hide(): Promise<void>;
    private requestClose;
    addOpenListeners(): void;
    removeOpenListeners(): void;
    handleDocumentKeyDown(event: KeyboardEvent): void;
    private _overlayClickHandler;
    handleOpenChange(): Promise<void>;
    render(): import("lit").TemplateResult<1>;
}
export default SgdsModal;
