import { AuthTokens, AuthUser } from '../types'; /** * Enhanced TokenExtractor with flexible data preservation * Mantiene todos los datos originales del backend sin pérdida de información */ export declare class TokenExtractor { private static readonly TOKEN_KEYS; private static readonly REFRESH_TOKEN_KEYS; private static readonly EXPIRES_KEYS; private static readonly TOKEN_TYPE_KEYS; private static readonly USER_SEARCH_PATHS; private static searchCache; private static readonly CACHE_TTL; private static readonly MAX_CACHE_SIZE; /** * Búsqueda profunda optimizada con paths específicos */ private static deepSearchByPaths; /** * Extrae datos de usuario desde la raíz del objeto */ private static extractFromRoot; /** * Obtiene valor anidado usando dot notation */ private static getNestedValue; /** * Genera una signatura única del objeto para cache */ private static generateObjectSignature; /** * Búsqueda mejorada de campos específicos */ private static enhancedDeepSearch; /** * Normalización mejorada de tiempo de expiración con soporte para múltiples formatos */ private static normalizeExpirationTime; /** * Extracción mejorada de tokens con soporte para múltiples formatos */ static extractTokens(response: unknown): AuthTokens; /** * Extracción de tiempo de expiración mejorada */ private static extractExpirationTime; /** * Extracción flexible de usuario con preservación completa de datos */ static extractUser(response: unknown): AuthUser | null; /** * Mapea campos de usuario a formato estándar */ private static mapToStandardUser; /** * Construye el nombre completo del usuario */ private static buildUserName; /** * Busca un campo usando múltiples nombres posibles */ private static findUserField; /** * Extrae permisos en formato array */ private static extractPermissions; /** * Preserva campos que no están en el mapping estándar */ private static preserveUnmappedFields; /** * Detecta el tipo de backend basado en la estructura de respuesta */ private static detectBackendType; /** * Construye usuario desde campos dispersos cuando no hay estructura clara */ private static buildUserFromScatteredFields; /** * Parsea información de usuario desde JWT token */ private static parseUserFromToken; /** * Método de debug mejorado con más información */ static debugResponse(response: any, depth?: number): void; /** * Limpiar cache (llamar periódicamente para evitar memory leaks) */ static clearCache(): void; /** * Test de extracción con diferentes formatos */ static testExtraction(response: any): void; } //# sourceMappingURL=TokenManager.d.ts.map