import React from 'react'; import { ModalOverlayProps } from './ModalOverlay'; import { ModalInnerProps } from './ModalInner'; import { ModalInnerContainerProps } from './ModalInnerContainer'; export interface BaseModalProps { /** * The dialog will remain open as long as the value is true */ readonly isOpen: boolean; /** * The function that will be called to close the dialog */ readonly onRequestClose: (event: React.MouseEvent | KeyboardEvent) => void; /** * Dialog content */ readonly children: React.ReactNode; /** * Timeout (in `milliseconds`), after which the dialog box will be unmounted.\ * Correct if the value is equal to the length of the transition time\ * \ * **Default:** `240` */ readonly destroyTimeout?: number; /** * Should the dialog close when `escape` key press\ * \ * **Default**: `true` */ readonly closeOnEscape?: boolean; /** * Should the dialog close when overlay mouse click\ * \ * **Default**: `true` */ readonly closeOnOverlayClick?: boolean; /** * should the modal component grab focus when opening and return it back when closing?\ * **Default:** `true` */ readonly autofocus?: boolean; /** * Overridable components map */ readonly overrides?: BaseModalOverrides; } export interface BaseModalOverrides { readonly Overlay?: React.ComponentType>; readonly Inner?: React.ComponentType>; readonly InnerContainer?: React.ComponentType>; } declare const BaseModal: React.FC; export default BaseModal;