import type { AuthTokens } from '../api/authAxiosTypes'; import type { AuthResponse } from '../types/auth'; export type PersistedAuthBlob = AuthResponse & { storedAt?: string; }; export type AuthPersistMode = 'local' | 'session'; export declare function getAuthPersistMetaKey(storageKey: string): string; /** Where the auth blob is stored for this tab (`local` = localStorage, `session` = sessionStorage). */ export declare function getAuthPersistMode(storageKey: string): AuthPersistMode; /** `rememberMe` checked → persist across browser restarts (`localStorage`); unchecked → tab session only. */ export declare function setAuthPersistMode(storageKey: string, rememberMe: boolean): void; /** * Read access + refresh tokens from the active auth store (localStorage or sessionStorage). * Falls back to the other store for sessions created before persist-mode was tracked. */ export declare function readTokensFromLocalStorage(key: string): AuthTokens | null; /** * Merge new tokens into the persisted auth blob at `key`, preserving `data.username`, `id`, `roles` when present. * Uses the current persist mode (set on login via `setAuthPersistMode`). */ export declare function mergeAuthTokensIntoLocalStorage(key: string, tokens: AuthTokens, message?: string): void; /** Persist a full auth session blob using the current persist mode. */ export declare function writeAuthSessionToStorage(storageKey: string, session: PersistedAuthBlob): void; export declare function readAuthSessionFromStorage(storageKey: string): PersistedAuthBlob | null; export declare function clearAuthLocalStorageKey(key: string): void; export declare function getRememberedLoginEmail(): string | null; export declare function setRememberedLoginEmail(email: string | null): void; /** HTTP statuses from the refresh endpoint that mean the refresh token is invalid — clear stored auth. */ export declare function shouldClearAuthOnRefreshFailure(status: number): boolean; //# sourceMappingURL=authStorage.d.ts.map