import React from 'react';
import { CloseButtonProps } from '../CloseButton';
import TextLabel from './components/TextLabel';
import ActionButton from './components/ActionButton';
import type { NotificationProps, NotificationState } from './Notification.types';
export declare const LOCAL_NOTIFICATION = "local";
export declare const GLOBAL_NOTIFICATION = "global";
export declare const STICKY_NOTIFICATION = "sticky";
export declare const DEFAULT_AUTO_HIDE_TIMEOUT = 6000;
export declare const DEFAULT_TIMEOUT = 6000;
declare class Notification extends React.PureComponent<NotificationProps, NotificationState> {
    static displayName: string;
    static CloseButton: React.FC<CloseButtonProps>;
    static TextLabel: typeof TextLabel;
    static ActionButton: typeof ActionButton;
    static defaultProps: Partial<NotificationProps>;
    closeTimeout: ReturnType<typeof setTimeout> | null;
    transitionTimeout: ReturnType<typeof setTimeout> | null;
    ref: React.RefObject<HTMLDivElement>;
    childRef: React.RefObject<HTMLDivElement>;
    state: NotificationState;
    UNSAFE_componentWillReceiveProps(nextProps: NotificationProps): void;
    componentDidMount(): void;
    componentWillUnmount(): void;
    componentDidUpdate(prevProps: NotificationProps, prevState: NotificationState): void;
    _setChildrenVisibility({ show }: NotificationProps): void;
    _clearTransitionTimeout(): void;
    _startCloseTimer({ autoHideTimeout }: NotificationProps): void;
    _clearCloseTimeout(): void;
    _hideNotificationOnCloseClick: () => void;
    _hideNotificationOnTimeout: () => void;
    _bypassCloseFlags(): void;
    _shouldShowNotification(show?: boolean): boolean | undefined;
    _setHeightToChild(node: HTMLDivElement): number;
    _getChildren(): React.JSX.Element | null;
    render(): React.JSX.Element;
}
export default Notification;
//# sourceMappingURL=Notification.d.ts.map