/**
 * Copyright (c) Cisco Systems, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 */
import "../button/Button";
import "../icon/Icon";
import { LitElement, PropertyValues } from "lit";
export declare const modalType: readonly ["default", "full", "large", "small", "dialog"];
export declare const modalAlignment: readonly ["leading", "center"];
/**
 * Increasing latency above 13 ms has an increasingly negative impact
 * on human performance for a given task. While imperceptible at first,
 * added latency continues to degrade a human’s processing ability until
 * approaching 75 to 100 ms.
 * MIT: http://news.mit.edu/2014/in-the-blink-of-an-eye-0116
 */
export declare namespace Modal {
    export type Type = (typeof modalType)[number];
    export type Alignment = (typeof modalAlignment)[number];
    const ELEMENT_base: import("../../mixins/FocusTrapMixin").FocusTrapMixinReturnType<typeof LitElement>;
    export class ELEMENT extends ELEMENT_base {
        show: boolean;
        headerLabel: string;
        headerMessage: string;
        htmlId: string;
        ariaLabel: string;
        ariaLabelClose: string;
        ariaLabelCancel: string;
        ariaLabelSubmit: string;
        ariaDescription: string;
        showCloseButton: boolean;
        backdropClickExit: boolean;
        noExitOnEsc: boolean;
        size: Type;
        closeBtnName: string;
        hideFooter: boolean;
        hideHeader: boolean;
        disableInitialFocus: boolean;
        alignment?: Alignment;
        private animating;
        backDrop: HTMLElement;
        static get styles(): import("lit").CSSResult[];
        connectedCallback(): void;
        disconnectedCallback(): void;
        protected update(changedProperties: PropertyValues): void;
        private get computedAlignment();
        private notifyModalClose;
        private focusInsideModal;
        handleCloseOutside: (event: KeyboardEvent) => void;
        handleKeyDown(event: KeyboardEvent): void;
        private transitionPromise;
        private modalFadeIn;
        private modalFadeOut;
        handleCloseBackdrop(): void;
        hideModal(): void;
        private topCloseBtnTemplate;
        private handleFooterClick;
        private headerTemplate;
        footerTemplate(): import("lit-html").TemplateResult<1>;
        get modalBackDropClassMap(): {
            in: boolean;
        };
        get modalContainerClassMap(): {
            [x: string]: boolean;
            in: boolean;
        };
        render(): import("lit-html").TemplateResult<1>;
    }
    export {};
}
declare global {
    interface HTMLElementTagNameMap {
        "md-modal": Modal.ELEMENT;
    }
}
