export default Modal;
/**
 * @deprecated - Components in the legacy folder (/src/legacy) are deprecated. Please use a component from the components folder (/src/components) instead. Legacy components may not follow accessibility standards.
 **/
declare class Modal extends React.Component<any, any, any> {
    static childContextTypes: {
        handleClose: PropTypes.Requireable<(...args: any[]) => any>;
    };
    constructor(props: any);
    constructor(props: any, context: any);
    state: {
        animationClass: string;
    };
    getChildContext: () => {
        handleClose: (e: any) => void;
    };
    componentDidUpdate(prevProps: any): void;
    componentWillUnmount(): void;
    hideTimerId: NodeJS.Timeout;
    closeModal: (e: any) => void;
    setAnimationState: (isOpen: any) => void;
    render(): JSX.Element;
}
declare namespace Modal {
    namespace propTypes {
        let applicationId: PropTypes.Validator<string>;
        let backdrop: PropTypes.Requireable<boolean>;
        let backdropClickExit: PropTypes.Requireable<boolean>;
        let children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        let className: PropTypes.Requireable<string>;
        let ContentWrapper: PropTypes.Requireable<(...args: any[]) => any>;
        let escapeExits: PropTypes.Requireable<boolean>;
        let focusDialog: PropTypes.Requireable<boolean>;
        let htmlId: PropTypes.Validator<string>;
        let icon: PropTypes.Requireable<PropTypes.ReactElementLike>;
        let onHide: PropTypes.Validator<(...args: any[]) => any>;
        let renderTo: PropTypes.Requireable<string>;
        let show: PropTypes.Validator<boolean>;
        let size: PropTypes.Requireable<string>;
    }
    namespace defaultProps {
        let backdrop_1: boolean;
        export { backdrop_1 as backdrop };
        let backdropClickExit_1: boolean;
        export { backdropClickExit_1 as backdropClickExit };
        let children_1: any;
        export { children_1 as children };
        let className_1: string;
        export { className_1 as className };
        let escapeExits_1: boolean;
        export { escapeExits_1 as escapeExits };
        let focusDialog_1: boolean;
        export { focusDialog_1 as focusDialog };
        let icon_1: any;
        export { icon_1 as icon };
        let renderTo_1: any;
        export { renderTo_1 as renderTo };
        let show_1: boolean;
        export { show_1 as show };
        let size_1: string;
        export { size_1 as size };
    }
    let displayName: string;
}
import React from 'react';
import PropTypes from 'prop-types';
