import { ReactNode } from 'react'; export type ModalRole = 'dialog' | 'alertdialog'; export interface ModalProps { /** * `` and `` children. */ children: ReactNode; /** * Open state for uncontrolled mode. Use `open` + `onToggle` for controlled mode. * @default false */ defaultOpen?: boolean; /** * Open state for controlled mode. Pair with `onToggle`. */ open?: boolean; /** * Called whenever the modal opens or closes. Pair with `open` for controlled mode. */ onToggle?: (open: boolean) => void; /** * Close the modal when the backdrop is clicked. * @default true */ closeOnBackdropClick?: boolean; /** * Close the modal when the Escape key is pressed. * @default true */ closeOnEscape?: boolean; /** * ARIA role for the dialog. Use `'alertdialog'` for destructive confirmations * (delete, cancel subscription) — screen readers announce alertdialogs with higher * urgency and require an explicit user action to dismiss. Affects both the trigger's * `aria-haspopup` and the floating element's `role`. * @default dialog */ role?: ModalRole; } export declare const Modal: { (props: ModalProps): JSX.Element; Trigger: { ({ children }: import('.').ModalTriggerProps): import("react").JSX.Element; displayName: string; }; Content: { (props: import('.').ModalContentProps): JSX.Element | null; displayName: string; }; Header: { (props: import('.').ModalHeaderProps): JSX.Element; displayName: string; }; Body: { ({ children, noScroll, className }: import('.').ModalBodyProps): JSX.Element; displayName: string; }; Footer: { ({ children, left, className }: import('.').ModalFooterProps): JSX.Element; displayName: string; }; Closer: { ({ children }: import('.').ModalCloserProps): JSX.Element; displayName: string; }; displayName: string; }; export default Modal;