/**
 * Estado del tag — sección 1.1 de la especificación.
 * El QR SIEMPRE resuelve por este estado guardado, nunca por conteo de escaneos.
 */
export declare const TAG_STATUSES: readonly ["UNCLAIMED", "ACTIVE", "LOST", "RETURN_PENDING", "RETURNED", "SUSPENDED", "DEACTIVATED"];
export type TagStatus = (typeof TAG_STATUSES)[number];
/** Transiciones válidas por estado, derivadas de los flujos críticos (sección 8) y las reglas de negocio (sección 9). */
export declare const TAG_STATUS_TRANSITIONS: Record<TagStatus, readonly TagStatus[]>;
export declare function canTransitionTag(from: TagStatus, to: TagStatus): boolean;
/** Qué puede ver un visitante que escanea el QR en cada estado — tabla de la sección 1.1. */
export declare function isPubliclyViewableTagStatus(status: TagStatus): boolean;
export declare function requiresActivation(status: TagStatus): boolean;
export declare function isNeutralSupportOnly(status: TagStatus): boolean;
