import { MouseEvent, ReactElement, ReactNode } from 'react'; export interface Props { __IS_SERVER__?: boolean; allowBgScroll?: boolean; 'aria-describedby'?: string; 'aria-label'?: string; 'aria-labelledby'?: string; autoCenterH?: boolean; autoCenterV?: boolean; children?: ReactNode; className?: string; closeClassName?: string; closeContent?: any; closeOnOverlayClick?: boolean; contentClassName?: string; disableTabTrap?: boolean; hideEleWithAria?: HTMLElement | string; focusEleOnClose?: HTMLElement; isFull?: boolean; isOpen?: boolean; modalClassName?: string; modalStyle?: object; onClose?: (event?: MouseEvent) => void; onOpen?: (...args: any[]) => void; overlayClassName?: string; overlayOverride?: ReactElement; overlayStyle?: object; overrideClassName?: boolean; style?: object; useAriaHidden?: boolean; useAriaModal?: boolean; } /** * Modal * @prop {boolean} [__IS_SERVER__] Flag to determine if Modal is being rendered in the server or not * @prop {boolean} [allowBgScroll] Allow background to scroll while modal is open if true * @prop {boolean} [autoCenterH] Automatically center modal horizontally when modal is smaller than viewport width * @prop {boolean} [autoCenterV] Automatically center modal vertically when modal is smaller than viewport height * @prop {string} [aria-describedby] aria-describedby attribute value * @prop {string} [aria-label] aria-label attribute value * @prop {string} [aria-labelledby] aria-labelledby attribute value * @prop {ReactNode} [children] React component children * @prop {string} [className] Modal CSS class attribute value to append to default value. Overwritten by modalClassName prop. * @prop {string} [closeClassName] Close button class attribute value to append to default value * @prop {any} [closeContent=='X'] Close button content * @prop {boolean} [closeOnOverlayClick] Close modal if overlay is clicked if true * @prop {string} [contentClassName] Content class attribute value to append to default value * @prop {boolean} [disableTabTrap] Disable tab trap if true * @prop {HTMLElement} [focusEleOnClose] Element to be focused on after modal closes * @prop {HTMLElement | string} [hideEleWithAria] Element to apply aria-hidden attribute to while modal is open. HTMLElement or selector string is accepted. * @prop {boolean} [isFull] Enable fullscreen if true * @prop {boolean} [isOpen] Unhide modal if true * @prop {string} [modalClassName] Modal CSS class attribute value to append to default value. Overrides className prop. * @prop {object} [modalStyle] Modal style attribute value. Overrides style prop. * @prop {(event?: MouseEvent) => void} [onClose] Function to run when close event is triggered * @prop {(...args: any[]) => void} [onOpen=() => void] Function to run when open event is triggered. By default the function will focus on first focusable element. Setting this to "null" will leave this function as undefined. * @prop {string} [overlayClassName] Overlay CSS class attribute value to append to default value. * @prop {ReactNode} [overlayOverride] Component to override default overlay div * @prop {boolean} [overrideClassName] Override default class attribute values if true * @prop {object} [overlayStyle] Overlay style attribute value * @prop {object} [style] Modal style attribute value. Overwritten by modalStyle prop. * @prop {boolean} [useAriaHidden] Use aria-hidden attribute on modal when it is closed if true * @prop {boolean} [useAriaModal] Use aria-modal attribute on modal when it is open. Defaults to true if useAriaHidden is not set. */ declare const Modal: ({ __IS_SERVER__, allowBgScroll, autoCenterH, autoCenterV, "aria-describedby": ariaDescribedBy, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, children, className, closeClassName, closeContent, closeOnOverlayClick, contentClassName, disableTabTrap, focusEleOnClose, hideEleWithAria, isFull, isOpen, modalClassName, modalStyle, onClose, onOpen, overlayClassName, overlayOverride, overlayStyle, overrideClassName, style, useAriaHidden, useAriaModal, }: Props) => JSX.Element; export default Modal;