import React from 'react'; import PropTypes from 'prop-types'; import { HandleThunkActionCreator } from 'react-redux'; import { listen, unlisten, hide, Notification, NotificationsState } from './notifications.redux'; interface MappedStateProps { subscribers: NotificationsState['subscribers']; } export interface OwnProps { defaultMessage?: string; hideAfter?: number; triggeredBy: string | string[]; renderNotification?: (notification: Notification, dismissNotification: () => void) => React.ReactElement; renderContainer?: (notifications: Array>) => React.ReactElement; renderDismiss?: (dismiss: () => void) => React.ReactElement | null; showDismiss?: boolean; reduxKey?: string; } interface DispatchProps { listen: HandleThunkActionCreator; unlisten: HandleThunkActionCreator; hide: HandleThunkActionCreator; } declare type Props = DispatchProps & OwnProps & MappedStateProps; declare class InlineNotification extends React.Component { static idSeed: number; static propTypes: { triggeredBy: PropTypes.Validator; defaultMessage: PropTypes.Requireable; hideAfter: PropTypes.Requireable; renderNotification: PropTypes.Requireable<(...args: any[]) => any>; renderContainer: PropTypes.Requireable<(...args: any[]) => any>; renderDismiss: PropTypes.Requireable<(...args: any[]) => any>; showDismiss: PropTypes.Requireable; }; componentId: string; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: Props): void; dispatchListen(props: Props): void; dismiss: (notification: Notification) => void; renderNotification(notification: Notification, dismiss: React.ReactElement | null): React.ReactElement; renderContainer(notifications: Array>): JSX.Element; render(): JSX.Element; } declare const _default: import("react-redux").ConnectedComponentClass & OwnProps>; export default _default;