import * as React from "react"; import { Sizes, TransitionCallbacks } from "react-bootstrap"; import ModalBody = require("./ModalBody"); import ModalHeader = require("./ModalHeader"); import ModalTitle = require("./ModalTitle"); import ModalDialog = require("./ModalDialog"); import ModalFooter = require("./ModalFooter"); declare namespace Modal { interface ModalProps extends TransitionCallbacks, React.HTMLProps { // Required onHide: Function; // Optional animation?: boolean | undefined; autoFocus?: boolean | undefined; backdrop?: boolean | string | undefined; backdropClassName?: string | undefined; backdropStyle?: any; backdropTransitionTimeout?: number | undefined; bsSize?: Sizes | undefined; bsClass?: string | undefined; container?: any; // TODO: Add more specific type containerClassName?: string | undefined; dialogClassName?: string | undefined; dialogComponent?: any; // TODO: Add more specific type dialogTransitionTimeout?: number | undefined; enforceFocus?: boolean | undefined; restoreFocus?: boolean | undefined; keyboard?: boolean | undefined; onBackdropClick?: ((node: HTMLElement) => any) | undefined; onEscapeKeyDown?: ((node: HTMLElement) => any) | undefined; /** * @deprecated since Sept 25, 2017, use onEscapeKeyDown instead */ onEscapeKeyUp?: ((node: HTMLElement) => any) | undefined; onShow?: ((node: HTMLElement) => any) | undefined; show?: boolean | undefined; transition?: React.ReactElement | undefined; } } declare class Modal extends React.Component { static Body: typeof ModalBody; static Header: typeof ModalHeader; static Title: typeof ModalTitle; static Footer: typeof ModalFooter; static Dialog: typeof ModalDialog; } export = Modal;