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<HTMLDivElement>;
    isVisible: boolean;
    isStackExpanded: boolean;
    isFullListOpen: boolean;
    listMotionEnter: boolean;
    queueLayoutSettling: boolean;
    showTimer: boolean;
    notificationDuration: number;
    handleDismissOne: (n: NotificationProps) => (e: React.MouseEvent<HTMLButtonElement>) => void;
    handleStackOpenListCapture: (e: React.MouseEvent<HTMLDivElement>) => void;
    handleDeckMouseLeave: (e: React.MouseEvent<HTMLDivElement>) => void;
    handleDeckMouseEnter: () => void;
    hideStackHoverChrome: boolean;
};
//# sourceMappingURL=useNotificationItemDeck.d.ts.map