import './Notification.css'; import React from 'react'; import { IconComponent, IconProps, IconPropSize } from '../../icons/_Icon/Icon'; import { PropsWithHTMLAttributes } from '../../utils/types/PropsWithHTMLAttributes'; import { ButtonPropView } from "../Button/Button"; declare type State = Item[]; declare type Action = { type: 'add'; item: Item; } | { type: 'remove'; key: number | string; }; export declare function reducer(state: State, action: Action): Item[]; export declare type NotificationPropItemAction = { label: string | number; onClick: React.EventHandler; iconLeft?: IconComponent; iconSize?: IconPropSize; view?: ButtonPropView; }; export declare const notificationItemStatus: readonly ["info", "system", "success", "warning", "error"]; export declare type NotificationItemStatus = typeof notificationItemStatus[number]; export declare const notificationItemStatusDefault: NotificationItemStatus; export declare const notificationItemView: readonly ["outlined", "filled"]; export declare type NotificationItemView = typeof notificationItemView[number]; export declare const notificationItemViewDefault: NotificationItemView; export declare type Item = { key: string | number; message?: string | number; title?: string | number; status?: NotificationItemStatus; view?: NotificationItemView; autoClose?: boolean | number; icon?: React.ReactNode | React.FC; actions?: NotificationPropItemAction[]; onClose?: (item: Item) => void; withCloseButton?: boolean; onAutoClose?: (item: Item) => void; onlyMessage?: boolean; withAutoCloseTimer?: boolean; hiddenMessage?: boolean; titleButtonMoreOn?: string; titleButtonMoreOff?: string; }; export declare type Props = { items: Item[]; children?: never; }; export declare type NotificationProps = PropsWithHTMLAttributes; export declare const COMPONENT_NAME: "Notification"; export declare const cnNotification: import("@bem-react/classname").ClassNameFormatter; export declare const cnNotificationItem: import("@bem-react/classname").ClassNameFormatter; export declare const Notification: React.FC; export {};