import React from 'react'; import { ListenerEventHandler } from '../utils/addEventListener'; declare type PrevPopupSize = { width: number; height: number; } | null; export interface ModalProps { visible: boolean; title?: React.ReactElement; isFixedTitle?: boolean; className?: string; placement?: 'center' | 'top'; popupLimitSpacing?: number; width?: string; height?: string; top?: string; name?: string; closable?: boolean; maskClosable?: boolean; hiddenScroll?: boolean; onClose?: (event: React.TouchEvent | React.MouseEvent, name?: string) => void; onOpened?: (name?: string) => void; onDestroy?: (name?: string) => void; getNotCloseElement?: () => HTMLElement; } interface ModalStates { } export default class Modal extends React.Component { static Affix: React.ComponentType>>; static cacheOpenedIds: number[]; openId: number; prefixCls: string; scrollBarSize: number; static defaultProps: { placement: string; width: string; height: string; top: string; popupLimitSpacing: number; closable: boolean; maskClosable: boolean; hiddenScroll: boolean; }; clickOutsideHandler: ListenerEventHandler | null; touchOutsideHandler: ListenerEventHandler | null; popupTimer: any; affixTimer: any; popupRef: React.RefObject; maskRef: React.RefObject; componentDidMount(): void; getSnapshotBeforeUpdate(): PrevPopupSize; componentDidUpdate(_prevProps?: Readonly, _prevState?: Readonly, prevPopupSize?: PrevPopupSize): void; componentWillUnmount(): void; /** * 全局事件回调 * @param event */ onDocumentClick: (event: any) => void; clearOutsideHandler(): void; clearPopupTimer: (popupEl?: HTMLElement) => void; getPopupDomNode(): HTMLDivElement; getMaskDomNode(): HTMLDivElement; onClose: (event: any, isOutsideClick?: boolean) => void; onEnter: (popupEl?: HTMLElement) => void; onEntered: () => void; onExited: (element?: HTMLElement) => void; renderPopup(): JSX.Element; render(): JSX.Element; } export {};