/** * claude-auth.ts — Lee las credenciales OAuth de Claude Code desde el sistema. * * macOS: las credenciales se guardan en el keychain del sistema con el servicio * "Claude Code-credentials". El campo "claudeAiOauth" contiene el token * OAuth, su expiración, scopes y el tipo de suscripción del plan. * * Linux/Windows: Claude Code puede guardar las credenciales en * ~/.config/Claude/credentials.json (Electron userData path) * o en el keyring del sistema. * * Propósito: obtener el `subscriptionType` y `rateLimitTier` del plan real del * usuario, sin inferirlo del máximo histórico de prompts en los JSONL. */ export interface ClaudeAuthInfo { subscriptionType: string; rateLimitTier: string; expiresAt: number; tokenValid: boolean; source: 'keychain' | 'file' | 'unknown'; accessToken?: string; } /** * Devuelve el accessToken OAuth para autenticar llamadas a la API de Anthropic. * Usa el mismo caché de 5 minutos que readClaudeAuth(). * Retorna null si no hay credenciales disponibles (Linux sin configurar, token expirado). */ export declare function getOAuthAccessToken(): string | null; /** * Lee las credenciales de autenticación de Claude Code. * Intenta: keychain (macOS) → archivo → unknown. * Resultado cacheado 5 minutos para no golpear el keychain en cada request. */ export declare function readClaudeAuth(): ClaudeAuthInfo; /** * Mapea el subscriptionType de las credenciales al ClaudePlan usado por quota-tracker. * * Valores conocidos de Claude Code: * "free" → Free plan (10 prompts/5h) * "pro" → Pro plan (45 prompts/5h) * "max" → Max plan — puede ser max5 o max20, diferenciado por rateLimitTier * "max_5" → Max 5× (225 prompts/5h) * "max_20" → Max 20× (900 prompts/5h) */ export declare function subscriptionTypeToPlan(subscriptionType: string, rateLimitTier: string): import('./quota-tracker').ClaudePlan;