import { Logger } from './Logger'; interface AxiosLike { interceptors: { request: { use(fn: (config: any) => any, errFn?: (err: any) => any): number; eject(id: number): void; }; response: { use(fn: (res: any) => any, errFn: (err: any) => any): number; eject(id: number): void; }; }; request(config: any): Promise; } /** * AxiosInterceptorManager - Gestiona interceptores de Axios para inyección automática * de tokens y manejo de errores de autenticación */ export declare class AxiosInterceptorManager { private axiosInstance; private requestInterceptorId; private responseInterceptorId; private isRefreshing; private failedQueue; private getAccessToken; private onSessionInvalid; private onTokenRefresh?; private logger; constructor(axiosInstance: AxiosLike, callbacks: { getAccessToken: () => Promise; onSessionInvalid: () => void | Promise; onTokenRefresh?: () => Promise; }, logger?: Logger); /** * Configurar interceptores de Axios */ setup(options?: { autoInjectToken?: boolean; handleAuthErrors?: boolean; }): void; /** * Procesar cola de peticiones fallidas */ private processQueue; /** * Manejar sesión inválida */ private handleSessionInvalid; /** * Remover interceptores */ remove(): void; /** * Verificar si es una instancia válida de Axios */ private isAxiosInstance; /** * Verificar si los interceptores están activos */ isActive(): boolean; /** * Obtener información de estado */ getStatus(): { isActive: boolean; hasRequestInterceptor: boolean; hasResponseInterceptor: boolean; }; } export {}; //# sourceMappingURL=AxiosInterceptorManager.d.ts.map