import { IAccessTokenStorage } from '@lens-protocol/api-bindings'; import { CredentialsExpiredError, Logout } from '@lens-protocol/domain/use-cases/authentication'; import { PromiseResult } from '@lens-protocol/shared-kernel'; import { IStorage, PersistedCredentials, StorageSubscriber, StorageSubscription } from '@lens-protocol/storage'; import { AuthApi } from "./AuthApi.js"; import { JwtCredentials } from "./JwtCredentials.js"; export type Unsubscribe = () => void; /** * Stores auth credentials. * Access token is kept in memory. * Identity token is kept in memory. * Refresh token is persisted permanently. */ export declare class CredentialsStorage implements IStorage, IAccessTokenStorage { private readonly refreshTokenStorage; private readonly authApi; private refreshTimer; private refreshPromise; private subscribers; private accessToken; private identityToken; private logout; constructor(refreshTokenStorage: IStorage, authApi: AuthApi); onExpiry(logout: Logout): void; set(newCredentials: JwtCredentials): Promise; get(): Promise; reset(): Promise; subscribe(subscriber: StorageSubscriber): StorageSubscription; getAccessToken(): string | null; refreshToken(): PromiseResult; private cancelScheduledRefresh; private refreshCredentials; private notifySubscribers; private getRefreshToken; }