import { Env } from "../types/env"; declare class JWTClient { private env; private accessToken; private idToken; private refreshToken; refreshInProgress: boolean; private address; private STORAGE_PATH_ACCESS_TOKEN; private STORAGE_PATH_ID_TOKEN; private STORAGE_PATH_REFRESH_TOKEN; private STORAGE_PATH_ADDRESS; private STORAGE_PATH_REFRESH_IN_PROGRESS; private storage; constructor(config?: { storage?: Storage; env?: Env; }); isTokenExpiringSoon(token: string, bufferTime?: number): boolean; getRefreshInProgress(): boolean; setRefreshInProgress(refreshInProgress: boolean): void; getAccessToken(): string; getRefreshToken(): string; getIdToken(): string; setAccessToken(accessToken: string): void; setRefreshToken(refreshToken: string): void; setIdToken(idToken: string): void; setAddress(address: string): void; getAddress(): string; getUserId(): any; clearTokens(): void; } declare const decode: (token: string) => any; declare class MemoryStorage { private storage; setItem(key: string, value: string): void; getItem(key: string): string | null; removeItem(key: string): void; clear(): void; get length(): number; key(index: number): string | null; } export declare const defaultStorage: () => Storage | MemoryStorage; export { JWTClient, decode };