import { BehaviorSubject, Observable } from 'rxjs'; import { HttpBackend } from '@angular/common/http'; import { IRoleActive } from '../public-api'; import { IAuthConfig } from '../interfaces/auth-config.interface'; import * as i0 from "@angular/core"; export declare class AuthService { private authConfig; private readonly TOKEN_KEY; private readonly TOKEN; private readonly REFRESH_TOKEN_KEY; private readonly ROLE_ACTIVE_KEY; private readonly USER_KEY; private readonly USER_CAPABILITIES_KEY; private readonly CIA_KEY; private tokenSubject; /** Indica si hay un refresh en curso para serializar peticiones concurrentes */ isRefreshing: boolean; /** Emite el nuevo token cuando el refresh finaliza; null mientras está en curso */ refreshTokenSubject: BehaviorSubject; private http; constructor(handler: HttpBackend, authConfig: IAuthConfig | null); setToken(token: string): void; getToken(): string | null; clearToken(): void; getTokenObservable(): Observable; isLoggedIn(): boolean; /** * Parsea el JWT y comprueba si el claim `exp` ya venció. * Retorna true si no hay token, si no es un JWT válido o si expiró. */ isTokenExpired(): boolean; setRefreshToken(token: string): void; getRefreshToken(): string | null; clearRefreshToken(): void; refreshAccessToken(): Observable; removeActiveRole(): void; setActiveRole(roleCode: IRoleActive): void; getActiveRole(): IRoleActive | null; logout(): void; getSubDomain(): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }