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;