declare module 'react-notifications' { import { ReactNode } from 'react'; import { EventEmitter } from 'events'; enum NotificationType { INFO = 'info', SUCCESS = 'success', WARNING = 'warning', ERROR = 'error', } enum EventType { CHANGE = 'change', INFO = 'info', SUCCESS = 'success', WARNING = 'warning', ERROR = 'error', } interface NotificationProps { type: NotificationType; title?: ReactNode; message: ReactNode; timeOut?: number; onClick: () => any; onRequestHide: () => any; } interface NotificationsProps { notifications: Notification[]; onRequestHide?: (notification: Notification) => any; enterTimeout?: number; leaveTimeout?: number; } interface NotificationContainerProps { enterTimeout?: number; leaveTimeout?: number; } interface INotificationManagerCreate { type: EventType; title?: NotificationProps['title']; message?: NotificationProps['message']; timeout?: number; onClick?: () => any; priority?: boolean; } class Notification extends React.Component {} class Notifications extends React.Component {} class NotificationContainer extends React.Component {} class NotificationManager extends EventEmitter { static create(INotificationManagerCreate): void; static info( message?: INotificationManagerCreate['message'], title?: INotificationManagerCreate['title'], timeOut?: INotificationManagerCreate['timeout'], onClick?: INotificationManagerCreate['onClick'], priority?: INotificationManagerCreate['priority'], ): void; static success( message?: INotificationManagerCreate['message'], title?: INotificationManagerCreate['title'], timeOut?: INotificationManagerCreate['timeout'], onClick?: INotificationManagerCreate['onClick'], priority?: INotificationManagerCreate['priority'], ): void; static warning( message?: INotificationManagerCreate['message'], title?: INotificationManagerCreate['title'], timeOut?: INotificationManagerCreate['timeout'], onClick?: INotificationManagerCreate['onClick'], priority?: INotificationManagerCreate['priority'], ): void; static error( message?: INotificationManagerCreate['message'], title?: INotificationManagerCreate['title'], timeOut?: INotificationManagerCreate['timeout'], onClick?: INotificationManagerCreate['onClick'], priority?: INotificationManagerCreate['priority'], ): void; static remove(notification: Notification): void; } }