import { ModalConfig } from './types';
export type { ModalConfig, ModalVariant } from './types';
export declare class Modal {
    private overlayEl;
    private dialogEl;
    private readonly config;
    private readonly titleId;
    private isLoading;
    private focusTrap;
    private readonly handleKeyDown;
    private constructor();
    /** Factory method: create and show a modal */
    static open(config: ModalConfig): Modal;
    /** Close the modal and remove from DOM */
    close(): void;
    /** Update the modal body content */
    setBody(content: string | HTMLElement): void;
    /** Set loading state: disables buttons during async confirm */
    setLoading(loading: boolean): void;
    /** Build and show the modal DOM */
    private show;
    /** Handle the confirm button click, supporting async callbacks */
    private handleConfirm;
    /** Handle keyboard events for escape (focus trapping delegated to shared createFocusTrap) */
    private onKeyDown;
}
//# sourceMappingURL=index.d.ts.map