import { ReactElement, ReactNode } from 'react'; import { CommonProps } from '../common'; export interface ModalProps extends CommonProps { /** * Modal body. */ body?: string | ReactElement; /** * Whether clicking outside the modal overlap to invoke onClose */ canOutsideClickClose?: boolean; /** * Modal content. This will be placed after title, body & footer. */ children?: ReactNode; /** * Modal footer. */ footer?: string | ReactElement; /** * Closing callback. When onClose is available, an `x` button will be rendered on the right side of modal title. The callback will be called when user clicks on `x` button or outside of the modal (if canOutsideClickClose is set to true). */ onClose?: () => void; /** * Open state of modal. */ open?: boolean; /** * Modal size. * For xxlarge size: Before selecting this size, please consult with the design team. */ size?: 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge'; /** * Modal title. */ title?: string | ReactElement; /** * Modal type. */ variant?: 'basic' | 'primary'; } declare const Modal: ({ title, open, variant, size, onClose, canOutsideClickClose, body, footer, children, id, className, style, sx, "data-test-id": dataTestId, }: ModalProps) => ReactElement; export default Modal;