import { type CSSResultGroup, LitElement } from 'lit';
import type { AnyBindings } from '../../common/interface/bindings';
declare const AtomicIpxModal_base: typeof LitElement;
/**
 * The `atomic-ipx-modal` component is a modal component used for the In-Product Experience use case.
 *
 * It provides a modal dialog that can display header, body, and footer content through slots.
 * The modal can be controlled through the `isOpen` property and emits events when animations complete.
 *
 * @part atomic-ipx-modal - The main modal container.
 * @part backdrop - The backdrop behind the modal.
 * @part container - The content container element.
 * @part header-wrapper - The wrapper around the header section.
 * @part header - The header content container.
 * @part header-ruler - The horizontal rule separating header and body.
 * @part body-wrapper - The wrapper around the body section (scrollable).
 * @part body - The body content container.
 * @part footer-wrapper - The wrapper around the footer section.
 * @part footer - The footer content container.
 *
 * @slot header - The header content of the modal.
 * @slot body - The main body content of the modal.
 * @slot footer - The footer content of the modal (optional).
 *
 * @cssprop [--atomic-ipx-width=31.25rem] - The width of the modal.
 * @cssprop [--atomic-ipx-height=43.75rem] - The height of the modal.
 *
 * @event animationEnded - Emitted when the modal animation ends.
 */
export declare class AtomicIpxModal extends AtomicIpxModal_base {
    static styles: CSSResultGroup;
    bindings: AnyBindings;
    error: Error;
    initialize(): void;
    /**
     * The element that triggered opening the modal.
     */
    source?: HTMLElement;
    /**
     * The container to hide from the tabindex and accessibility DOM when the modal is closed.
     */
    container?: HTMLElement;
    /**
     * Whether the modal is open.
     * Reflected to allow external consumers to observe the state via CSS attribute selectors.
     */
    isOpen: boolean;
    private hasFooterSlotElements;
    private updateBreakpoints;
    connectedCallback(): void;
    disconnectedCallback(): void;
    watchToggleOpen(): void;
    willUpdate(): void;
    firstUpdated(): void;
    private onWindowTouchMove;
    private updateHostClasses;
    private handleAnimationEnded;
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-ipx-modal': AtomicIpxModal;
    }
}
export {};
