import React, { type ComponentProps, type ComponentType, type PropsWithChildren } from 'react'; export type ModalCloseEvent = KeyboardEvent | React.KeyboardEvent | React.MouseEvent; export type ModalCloseSource = 'overlay' | 'button' | 'escape'; export type ModalProps = { /** If true, modal is opened or visible. */ open: boolean; /** Custom class to be applied to the modal root div */ className?: string; /** Accessible label for the modal dialog. Ignored when aria-labelledby is provided. */ 'aria-label'?: string; /** ID of the element that labels the modal dialog. */ 'aria-labelledby'?: string; /** ID of the element that describes the modal dialog. */ 'aria-describedby'?: string; /** ARIA role for the modal dialog surface. */ role?: 'alertdialog' | 'dialog'; /** If provided, the close button is rendered on overlay */ CloseButtonOnOverlay?: ComponentType>; /** Callback handler for closing of modal. */ onClose?: (event: ModalCloseEvent) => void; /** Optional handler to intercept closing logic. Return false to prevent onClose. */ onCloseAttempt?: (source: ModalCloseSource, event: ModalCloseEvent) => boolean; }; export declare const GlobalModal: ({ "aria-describedby": ariaDescribedby, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, children, className, CloseButtonOnOverlay, onClose, onCloseAttempt, open, role, }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element | null; //# sourceMappingURL=GlobalModal.d.ts.map