import React, { CSSProperties, FC, ReactNode } from 'react'; import { ModalProps } from 'antd'; import { PortalProps } from '@rc-component/portal'; import 'react-resizable/css/styles.css'; declare enum Directions { right = "sw", left = "se", bottom = "n" } declare enum DrawerSizes { 'small' = 480, 'large' = 720 } declare enum ModalSizes { 'small' = 560, 'middle' = 720, 'large' = 960 } declare type TPattern = 'drawer' | 'modal'; export interface ProModalProps { pattern?: TPattern; title?: string; open?: boolean; footer?: ReactNode; closable?: boolean; closeIcon?: ReactNode; destroyOnClose?: boolean; mask?: boolean; maskClosable?: boolean; zIndex?: number; cancelText?: string; okText?: string; width?: number; drawer?: { getContainer?: PortalProps['getContainer']; style?: CSSProperties; height?: number; dSize?: keyof typeof DrawerSizes; width?: number; placement?: keyof typeof Directions; bodyStyle?: CSSProperties; footer?: ReactNode; }; modal?: { style?: CSSProperties; size?: keyof typeof ModalSizes; width?: number; bodyStyle?: CSSProperties; getContainer?: ModalProps['getContainer']; okButtonProps?: ModalProps['okButtonProps']; afterClose?: () => void; }; children?: React.ReactNode; onCancel?: ModalProps['onCancel']; onOk?: () => void; } declare const ProModal: FC; export default ProModal;