import { LitElement } from 'lit'; /** * Modal/Dialog component with advanced features * * @slot header - Modal header content * @slot - Default slot for modal body * @slot footer - Modal footer content * * @fires open - Dispatched when modal opens * @fires close - Dispatched when modal closes * @fires confirm - Dispatched when confirm button is clicked (confirm/prompt mode) * @fires cancel - Dispatched when cancel button is clicked (confirm/prompt mode) * * @csspart overlay - The overlay backdrop * @csspart dialog - The dialog element * @csspart header - The header section * @csspart body - The body section * @csspart footer - The footer section * @csspart close - The close button * * @cssprop --modal-width - Custom width for modal * @cssprop --modal-max-height - Maximum height for modal body * @cssprop --modal-z-index - Z-index for modal (default: 1000 + stackIndex) */ export declare class UIModal extends LitElement { static styles: import("lit").CSSResult; open: boolean; size: 'sm' | 'md' | 'lg' | 'xl' | 'full'; closeOnEscape: boolean; closeOnOverlay: boolean; dismissible: boolean; footerAlign: 'left' | 'center' | 'right' | 'space-between'; scrollableBody: boolean; type: 'default' | 'alert' | 'confirm' | 'prompt'; title: string; message: string; confirmText: string; cancelText: string; inputPlaceholder: string; inputValue: string; ariaLabel: string | null; ariaDescribedby: string | null; private static modalStack; private static baseZIndex; private focusTrap?; private previouslyFocusedElement?; private modalId; private titleId; private descriptionId; constructor(); private get stackIndex(); private get zIndex(); connectedCallback(): void; disconnectedCallback(): void; private handleKeyDown; private activateFocusTrap; private deactivateFocusTrap; private handleOverlayClick; /** * Open the modal */ show(): void; /** * Close the modal */ close(): void; /** * Handle confirm action (for confirm/prompt modals) */ private handleConfirm; /** * Handle cancel action (for confirm/prompt modals) */ private handleCancel; /** * Handle input change (for prompt modals) */ private handleInputChange; /** * Static helper methods for creating modals */ static alert(message: string, title?: string): Promise; static confirm(message: string, title?: string): Promise; static prompt(message: string, title?: string, defaultValue?: string, placeholder?: string): Promise; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'ui-modal': UIModal; } } //# sourceMappingURL=modal.d.ts.map