import React from "react";

export interface NotificationProps {
    /** Refers to the initial identifier for the notification. */
    id?: string;
    /** Specify the type of notification to create*/
    type?: 'info' | 'success' | 'warning' | 'error' | string;
    /** Specify what title the notice must have */
    title?: React.ReactNode;
    /** Specify which message the notification is to contain. */
    message?: React.ReactNode;
    /** Specify how long the notification will be effective. */
    timeOut?: number;
    /** Specify what priority the notification is to have. */
    priority?: boolean;
    /** Action taken when the pill is clicked. */
    onClick?: () => void;
    /** Action taken by clicking on the notification to hide it. */
    onRequestHide?: () => void;
}
export interface NotificationsProps {
    /** Arrangement of all available notifications*/
    notifications: NotificationItem[];
    /** Function to hide the notification*/
    onRequestHide: (notification: NotificationItem) => void;
    enterTimeout: number;
    leaveTimeout: number;
}
export interface NotificationContainerProps {
    enterTimeout?: number;
    leaveTimeout?: number;
}
export interface NotificationItem {
    /** Refers to the initial identifier for the notification. */
    id?: string;
    /** Specify the type of notification to create*/
    type: 'info' | 'success' | 'warning' | 'error' | null;
    /** Specify what title the notice must have */
    title: React.ReactNode;
    /** Specify which message the notification is to contain. */
    message: React.ReactNode;
    /** Specify how long the notification will be effective. */
    timeOut: number;
    /** Action taken when the pill is clicked. */
    onClick: () => void;
}