import { NotificationGroup, NotificationProps } from '../../../shared/types/message'; import type * as React from 'react'; /** * Estado, temporizadores y manejadores del mazo apilado de notificaciones (`NotificationItem`). * * Encapsula visibilidad tras `isLeaving`, expansión por hover, lista completa, asentamiento de layout * tras mutar la cola y supresión de `mouseleave` espurios al cerrar o al abrir la lista. * * @param group - Grupo de notificación del servicio (cola, contador, color, `isLeaving`). * @returns Objeto con: * - `deckHoverRef` — contenedor del mazo (padding inferior + hit area). * - `isVisible` — oculta el mazo tras animación de salida cuando `isLeaving` es true. * - `isStackExpanded` — hover: muestra todas las capas de la cola en vista previa. * - `isFullListOpen` — lista vertical completa tras hover + clic. * - `listMotionEnter` — pulso de entrada de la lista extendida (opacidad / translate). * - `queueLayoutSettling` — ventana sin transición de padding tras cambiar la cola. * - `showTimer` y `notificationDuration` — lectura actual de `notificationService.getConfig()` (timer global). * - `handleDismissOne` — cierre: la más reciente vacía el mazo (`dismissStack`); el resto `dismiss(id)` (callbacks vía servicio). * - `handleStackOpenListCapture` — captura de clic para abrir lista completa (sin interactivos). * - `handleDeckMouseLeave` / `handleDeckMouseEnter` — hover del contenedor del mazo. * - `hideStackHoverChrome` — atenuar pie y barra en stack apilado con hover (no en lista completa). */ export declare function useNotificationItemDeck(group: NotificationGroup): { deckHoverRef: React.RefObject; isVisible: boolean; isStackExpanded: boolean; isFullListOpen: boolean; listMotionEnter: boolean; queueLayoutSettling: boolean; showTimer: boolean; notificationDuration: number; handleDismissOne: (n: NotificationProps) => (e: React.MouseEvent) => void; handleStackOpenListCapture: (e: React.MouseEvent) => void; handleDeckMouseLeave: (e: React.MouseEvent) => void; handleDeckMouseEnter: () => void; hideStackHoverChrome: boolean; }; //# sourceMappingURL=useNotificationItemDeck.d.ts.map