export type AlertColor = 'danger' | 'success' | 'info' | 'warning' | 'neutral' | 'brand';
export type VariantAlert = 'contained' | 'outlined' | 'accent' | 'minimal';
export type AnimationAlert = 'none' | 'fade' | 'slide' | 'zoom' | 'flip' | 'bounce' | 'slide-up';
export type SizeAlert = 'sm' | 'md';
export interface AlertProps {
    open: boolean;
    message?: string;
    description?: string;
    color?: AlertColor;
    isLeaving?: boolean;
    title?: string;
    showCloseButton?: boolean;
    variant?: VariantAlert;
    onClick?: () => void;
    onClose?: (e: React.MouseEvent<HTMLButtonElement>) => void;
    onPrimaryClick?: () => void;
    onSecondaryClick?: () => void;
    primaryButtonText?: string;
    secondaryButtonText?: string;
    animation?: AnimationAlert;
    className?: string;
    size?: SizeAlert;
    /**
     * Duración en milisegundos antes del auto-cierre vía barra de progreso.
     * - `undefined`: sin barra ni cierre automático por tiempo.
     * - `0`: sin barra ni cierre automático (equivalente práctico a omitir; útil con APIs que envían `0` explícito).
     * - Valor **> 0**: barra de cuenta atrás y cierre al completar.
     */
    duration?: number;
    /**
     * Clases en el contenedor de la barra de progreso (p. ej. `ui-hidden`) para ocultarla sin desmontarla.
     * Útil si un temporizador externo sigue activo y no debe reiniciarse la cuenta atrás visual.
     */
    progressBarClassName?: string;
    /**
     * Contenido adicional que se renderiza antes de la barra de progreso.
     * Útil para mostrar contadores u otros elementos personalizados.
     */
    children?: React.ReactNode;
    /**
     * URL de una imagen de avatar para mostrar en lugar del icono por defecto.
     * Cuando se proporciona, muestra un avatar circular con la imagen.
     */
    avatar?: string;
    /**
     * Contenido al final de la fila de cabecera (p. ej. hora y estado leído).
     * Solo tiene efecto si {@link showCloseButton} es `false`; sustituye el hueco del botón cerrar.
     */
    endAdornment?: React.ReactNode;
    /**
     * Con `avatar`, muestra un badge circular con el icono de intención superpuesto
     * (esquina inferior derecha), como en Notification (Figma).
     */
    avatarIntentBadge?: boolean;
    /**
     * Si es true, el título y el mensaje (p. ej. subtítulo) muestran elipsis en una sola línea
     * cuando no caben en el ancho disponible (requiere `min-w-0` en ancestros flex).
     */
    truncateHeaderText?: boolean;
}
export type AlertHeaderProps = Pick<AlertProps, 'variant' | 'onClose' | 'title' | 'color' | 'message' | 'description' | 'showCloseButton' | 'onPrimaryClick' | 'onSecondaryClick' | 'primaryButtonText' | 'secondaryButtonText' | 'avatar' | 'endAdornment' | 'avatarIntentBadge' | 'truncateHeaderText'>;
export type AlertFooterProps = Pick<AlertProps, 'variant' | 'onSecondaryClick' | 'onPrimaryClick' | 'primaryButtonText' | 'secondaryButtonText' | 'color'>;
/** @deprecated Usa AlertProps en su lugar */
export type IAlert = AlertProps;
//# sourceMappingURL=alert.d.ts.map