import React from 'react'; import { Props } from '../../../common'; import { Content } from './subcomponents/Content'; import { Footer } from './subcomponents/Footer'; import { Header } from './subcomponents/Header'; interface IBaseModalProps { /** * Show close button at the top right if handleClose is set. * Callback to call on close; receives event */ handleClose?: (event: (React.MouseEvent)) => void; /** Shows the close button if true and handleClose is set */ showCloseButton?: boolean; /** Extra classes to apply */ className?: string; /** Modal Size */ size?: Props.Size.Medium | Props.Size.Large | Props.Size.XLarge | Props.Size.FullScreen; /** The offset amount for the Z index of the modal */ offsetZIndex?: number; /** If true, will close when esc is pressed */ shouldCloseOnEsc?: boolean; /** If true, will close when overlay is clicked */ shouldCloseOnOverlayClick?: boolean; /** If true, will modify styles to work with subcomponents */ useSubcomponents?: boolean; /** The data-cy */ componentContext?: string; } interface IModalProps extends IBaseModalProps { /** Show Modal */ isOpen: boolean; } declare class Modal extends React.PureComponent> { static Header: typeof Header; static Content: typeof Content; static Footer: typeof Footer; static defaultProps: Partial; render(): JSX.Element; private get classNames(); private get closeButton(); } export { IBaseModalProps, IModalProps, Modal };