import type { Action } from 'redux'; import { ADD_NOTIFICATION, REMOVE_NOTIFICATION } from "./action-types.js"; export type TNotification = { id?: number; }; export type TNotificationOnDismiss = (id: TNotification['id']) => void; export type TNotificationMetaOptions = { dismissAfter?: number; onDismiss?: TNotificationOnDismiss; }; export interface TAddNotificationAction extends Action { payload: Payload; meta?: TNotificationMetaOptions; dismiss?: () => void; [key: string]: unknown; } export interface TRemoveNotificationAction extends Action { payload: TNotification; [key: string]: unknown; } export type TNotificationAction = TAddNotificationAction | TRemoveNotificationAction; export type TNotificationState = Payload[];