import { Badge, Button, List, ListItemProps, Popover } from '@cads-ui/core'; import React from 'react'; import './notification.scss'; type ExtendProps = { [key: string]: any; }; type FilterMode = 'all' | 'unread'; interface NotificationTranslation { title?: string; all?: string; unread?: string; showMore?: string; markAll?: string; empty?: string; markAsRead?: string; markAsUnRead?: string; delete?: string; moreLoading?: string; } export type NotificationList = Array<{ id: string | number; group?: React.ReactNode; list: Array; }>; export interface NotificationItem extends ExtendProps { /** id is required, used to distinguish elements */ id: string | number; /** The main content element (as list item). */ title?: React.ReactNode; /** The secondary content element (as list item). */ time?: Date | string | React.ReactNode; /** Mark as unread (default: false) */ unread?: boolean; /** Left icon (as icon of list item) */ avt?: React.ReactNode; /** To redirect when click */ link?: string; /** Customize list item */ listItemProps?: Partial; } export interface NotificationProps { /** List of notification item */ items?: NotificationList; /** Customize props */ IconProps?: Partial>; BadgeProps?: Partial>; PopoverProps?: Partial>; ListProps?: Partial>; /** Unread bade content in Notification icon */ unreadCount?: number; /** Hide props */ hideReadAll?: boolean; hideShowMore?: boolean; hideFilter?: boolean; hideAvt?: boolean; hideMoreMenu?: boolean; /** Show more loading */ isMoreLoading?: boolean; /** Custom filter group */ filter?: React.ReactNode; /** Custom show more group */ bottomAction?: React.ReactNode; /** Change language */ translation?: NotificationTranslation; /** Event props */ onItemClick?: (item: NotificationItem) => any; onFilterChange?: (mode: FilterMode) => any; onMarkAs?: (item: NotificationItem) => any; onDeleteItem?: (item: NotificationItem) => any; onMarkAllAsRead?: () => any; onMoreBtnClick?: () => any; } export declare const Notification: React.ForwardRefExoticComponent & React.RefAttributes & import("@cads-ui/core").WithResponsiveProps & React.RefAttributes>, "className" | "key" | "sx" | "sm" | "md" | "lg" | "xl" | "filter" | "items" | "onItemClick" | "hideAvt" | "hideMoreMenu" | "IconProps" | "BadgeProps" | "PopoverProps" | "ListProps" | "unreadCount" | "hideReadAll" | "hideShowMore" | "hideFilter" | "isMoreLoading" | "bottomAction" | "translation" | "onFilterChange" | "onMarkAs" | "onDeleteItem" | "onMarkAllAsRead" | "onMoreBtnClick"> & React.RefAttributes>; export default Notification;