import * as React from "react"; import MoreMenu from "../MoreMenu"; import { ViewProps } from "../View"; import { IconProps } from "../IconBase"; export interface ModalProps extends ViewProps { /** * Please don't use any other nodes except for `` from `@lingui/macro` */ title?: React.ReactNode; children?: React.ReactNode; isOpen?: boolean; onRequestClose?: () => void; disableKeyBindings?: boolean; disableBackgroundClose?: boolean; headerIcon?: React.ComponentType; headerAction?: () => void; /** * Used to insert a `data-tid` value into the header action button (so BEAM tracking can fire) */ headerActionTid?: string; /** * Used to insert a `data-tid` value into the Modal's background view (so BEAM tracking can fire when the Modal is dismissed) */ modalBackgroundTid?: string; positionVertical?: 'center' | 'top'; moreMenu?: MoreMenu; contentPadding?: number | number[]; footer?: () => JSX.Element; } declare class Modal extends React.Component { private dialogTitleRef; private mouseDownElement; private backgroundRef; constructor(props: ModalProps); componentDidMount(): void; componentWillUnmount(): void; detectEscape: (event: any) => void; handleBackgroundClick: () => void; init(): void; UNSAFE_componentWillUpdate(nextProps: ModalProps): void; destroy(): void; handleBackdropMouseDown(e: React.SyntheticEvent): void; handleBackdropClick(e: React.SyntheticEvent): void; onClose(): void; render(): JSX.Element; } export default Modal;