import { StoredAuthState, GetPermissionsResponse, ValtechAuthConfig } from './types';
import * as i0 from "@angular/core";
/**
 * Servicio para persistencia de estado de autenticación en localStorage.
 */
export declare class AuthStorageService {
    private config;
    private keys;
    private readonly isBrowser;
    constructor(config: ValtechAuthConfig | null, platformId: Object);
    /**
     * Guarda el estado completo de autenticación.
     */
    saveState(state: StoredAuthState): void;
    /**
     * Carga el estado de autenticación desde storage.
     */
    loadState(): Partial<StoredAuthState>;
    /**
     * Guarda solo el access token.
     */
    saveAccessToken(token: string, expiresAt?: number): void;
    /**
     * Guarda el refresh token (token rotation).
     */
    saveRefreshToken(token: string): void;
    /**
     * Guarda los permisos actualizados.
     */
    savePermissions(response: GetPermissionsResponse): void;
    /**
     * Carga los permisos desde storage.
     */
    loadPermissions(): {
        roles: string[];
        permissions: string[];
        isSuperAdmin: boolean;
    };
    /**
     * Obtiene el refresh token.
     */
    getRefreshToken(): string | null;
    /**
     * Limpia todo el estado de autenticación.
     */
    clear(): void;
    /**
     * Verifica si hay estado guardado.
     */
    hasStoredState(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<AuthStorageService, [{ optional: true; }, null]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AuthStorageService>;
}
