import { ModalOptions } from './modal.types';
/**
* Headless modal/dialog controller. Manages open state, focus trapping, scroll
* locking, Escape/overlay dismissal, ARIA wiring and focus restoration.
*
* Markup:
* ```html
*
* ```
*/
export declare class Modal {
private readonly root;
private readonly content;
private readonly overlay;
private readonly closeOnOverlayClick;
private readonly closeOnEscape;
private readonly lockScroll;
private readonly focusTrap;
private open;
private previouslyFocused;
private cleanups;
constructor(root: HTMLElement, options?: ModalOptions);
private init;
private readonly onKeydown;
openModal(): void;
close(): void;
toggle(): void;
get isOpen(): boolean;
on(event: string, handler: (event: E) => void): () => void;
destroy(): void;
}