/** * Base dialog component that extends HTMLElement * Provides common dialog functionality with header, close button, and content area * * Usage: * ```typescript * const dialog = document.createElement('dialog-component'); * dialog.setAttribute('header', 'Dialog Title'); * dialog.innerHTML = '

Your content goes here

'; * dialog.showModal(); // Don't append to body, just call showModal() * ``` * * Features: * - Header with customizable text * - Close button * - Click outside to close * - ESC key to close * - Automatic cleanup on close * * Important: Only one instance of this component should be added to the DOM at any time. * Multiple instances may cause conflicts with event listeners and cleanup behavior. */ export declare class DialogComponent extends HTMLElement { private dialog; private backdrop; private _escHandler; private _focusTrapHandler; private _previouslyFocused; constructor(); /** * Observed attributes for the component */ static get observedAttributes(): string[]; /** * Inject dialog styles into document head * Prevents duplicate injection by checking for existing styles */ private injectStyles; /** * Render the dialog */ private render; /** * Setup event listeners for closing the dialog */ private setupEventListeners; /** * Show the dialog (alias for showModal) */ show(): void; /** * Show the dialog as modal */ showModal(): void; /** * Close the dialog */ close(): void; /** * Cleanup when dialog is closed */ private cleanup; /** * Called when component is removed from DOM */ disconnectedCallback(): void; /** * Called when observed attributes change */ attributeChangedCallback(name: string, _oldValue: string, newValue: string): void; }