import { SessionData } from '../types';
/**
 * Handles session data persistence in sessionStorage with a lazy in-memory
 * cache.
 */
export declare class SessionStorage {
    /**
     * The cache eliminates redundant reads during session restore and
     * credential access flows. It uses a write-through strategy: save() and
     * clear() update both sessionStorage and the cache atomically.
     *
     * Cache states:
     *   undefined — not yet loaded (cold; triggers a read on first access).
     *   null     — loaded but empty (no data in sessionStorage).
     *   SessionData — loaded and valid.
     */
    private _cache;
    private _namespace;
    constructor(namespace: string);
    save(sessionData: SessionData): void;
    load(): SessionData | undefined;
    clear(): void;
    hasData(): boolean;
}
//# sourceMappingURL=sessionStorage.d.ts.map