import React from 'react';
import PropTypes from 'prop-types';
export declare class Notification extends React.PureComponent<any, any> {
    static propTypes: {
        success: PropTypes.Requireable<boolean>;
        warning: PropTypes.Requireable<boolean>;
        error: PropTypes.Requireable<boolean>;
        danger: PropTypes.Requireable<boolean>;
        timeout: PropTypes.Requireable<number>;
        className: PropTypes.Requireable<string>;
        style: PropTypes.Requireable<object>;
        testAutomationId: PropTypes.Requireable<string>;
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        onClose: PropTypes.Requireable<(...args: any[]) => any>;
    };
    static defaultProps: {
        success: boolean;
        warning: boolean;
        error: boolean;
        danger: boolean;
        timeout: any;
        className: string;
        style: {};
        testAutomationId: string;
        children: any;
        onClose: any;
    };
    static contextTypes: {
        isTopFixedNotification: PropTypes.Requireable<boolean>;
    };
    constructor(props: any, context: any);
    closeTimeout: any;
    componentDidMount(): void;
    componentWillReceiveProps(nextProps: any): void;
    componentWillUnmount(): void;
    showNotification: () => void;
    waitForTestAutomation(): boolean;
    getTimeout(): any;
    startCloseTimeout: () => void;
    stopCloseTimeout: () => void;
    onClose: () => void;
    close: () => void;
    render(): JSX.Element;
}
