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;