/** * Cliente de autenticación * Maneja login, logout, refresh de tokens y API keys */ import { HttpClient } from '../http/httpClient'; import type { Logger } from '../utils/logger'; import type { UserSession } from './types'; export interface AuthClientOptions { baseURL: string; httpClient?: HttpClient; logger?: Logger; apiKey?: string; autoRefresh?: boolean; } export declare class AuthClient { private baseURL; private httpClient; private logger?; private apiKey?; private session; private refreshTimeoutId; private autoRefresh; private isRefreshing; constructor(options: AuthClientOptions); /** * Login con email y password */ login(email: string, password: string): Promise; /** * Register nuevo usuario */ register(email: string, password: string, name?: string): Promise; /** * Refresh access token */ refreshToken(): Promise; /** * Logout */ logout(): Promise; /** * Obtiene headers de autenticación */ getAuthHeaders(): Record; /** * Obtiene la sesión actual */ getSession(): UserSession | null; /** * Verifica si hay una sesión activa y válida */ isAuthenticated(): boolean; /** * Verifica si la sesión actual es válida (no expirada) */ isSessionValid(): boolean; /** * Obtiene tiempo restante hasta expiración (en segundos) */ getTimeUntilExpiration(): number | null; /** * Establece API Key manualmente */ setApiKey(apiKey: string): void; /** * Limpia API Key */ clearApiKey(): void; /** * Limpia el timeout de refresh */ clearRefreshTimeout(): void; /** * Habilita o deshabilita auto-refresh */ setAutoRefresh(enabled: boolean): void; /** * Crea UserSession desde la respuesta de la API */ private createSessionFromResponse; /** * Programa el refresh automático del token */ private scheduleRefresh; } //# sourceMappingURL=authClient.d.ts.map