import { default as React } from 'react'; import { ModalSize, ModalVariants } from './constants'; export interface ModalProps { /** Title of the modal */ title: string; /** id of the modal title */ titleId?: string; /** Description of the modal. Will not render if the modal has children. */ description?: string; /** Optional footer content that can be rendered instead of default CTA(s) */ footerContent?: React.ReactNode; /** Changes the visual representation of the modal */ variant?: keyof typeof ModalVariants; /** Change width of the modal (default: large) */ size?: keyof typeof ModalSize; /** Icon displayed in title */ icon?: React.ReactElement; /** Hides the close button */ noCloseButton?: boolean; /** Sets the data-testid attribute. */ testId?: string; /** Primary button text */ primaryButtonText?: string; /** Secondary button text */ secondaryButtonText?: string; /** Sets the aria-label of the modal */ ariaLabel?: string; /** Sets the aria-labelledby of the modal */ ariaLabelledBy?: string; /** Close button aria-label */ ariaLabelCloseBtn?: string; /** Alternative component to modal */ children?: React.ReactNode; /** Component shown after title */ afterTitleChildren?: React.ReactNode; /** Adds custom classes to the element. */ className?: string; /** Customize the z-index of the modal */ zIndex?: number; /** Function is called when user clicks primary button */ onSuccess?: () => void; /** Function is called when user clicks secondary button, clicks escape or outside the modal */ onClose?: () => void; /** When enabled the component will be rendered in the bottom of document.body */ printable?: boolean; /** If disabled, clicking escape or outside the modal will not close it */ disableCloseEvents?: boolean; /** Aria role used for the Modal. Default is dialog */ role?: 'dialog' | 'alertdialog'; } declare const Modal: React.FC; export default Modal;