import { BadgeColor, BadgeSize } from '../../../shared/types/badge';
import { ButtonColors, IconType, AnyIconDefinition } from '../../../shared/types/types';
/**
 * Determina si el badge debe mostrarse
 * El badge se muestra si tiene label (incluyendo "0"), tiene icono, está en loading, o es dot
 *
 * @param badgeColor - Color del badge
 * @param badgeLabel - Label del badge
 * @param badgeIcon - Icono del badge
 * @param badgeSize - Tamaño del badge
 * @param badgeLoading - Si el badge está en estado de carga
 * @returns true si el badge debe mostrarse
 */
export declare const shouldShowBadge: (badgeColor?: BadgeColor, badgeLabel?: string, badgeIcon?: IconType | AnyIconDefinition | string, badgeSize?: BadgeSize, badgeLoading?: boolean) => boolean;
/**
 * Determina si el badge debe tener borde automáticamente
 * Basado en el diseño de Figma: el borde se necesita para contrastar con el fondo del botón
 *
 * @param badgeStroke - Valor explícito de stroke (tiene prioridad)
 * @param badgeColor - Color del badge
 * @param buttonColor - Color del botón
 * @returns true si el badge debe tener borde
 */
export declare const shouldBadgeHaveStroke: (badgeStroke: boolean | undefined, badgeColor: BadgeColor | undefined, buttonColor: ButtonColors | undefined) => boolean;
/**
 * Obtiene el tamaño efectivo del badge
 * Si está en loading y no tiene tamaño definido, usa 'sm' por defecto
 *
 * @param badgeLoading - Si el badge está en estado de carga
 * @param badgeSize - Tamaño del badge
 * @returns Tamaño efectivo del badge
 */
export declare const getEffectiveBadgeSize: (badgeLoading: boolean | undefined, badgeSize: BadgeSize | undefined) => BadgeSize;
//# sourceMappingURL=badgeUtils.d.ts.map