export interface TokenStoreOptions { key?: string; persist?: "memory" | "session" | "local"; storage?: StorageAdapter; serialize?: (token: string) => string; deserialize?: (value: string) => string; } export interface StorageAdapter { getItem(key: string): string | null | undefined; setItem(key: string, value: string): void; removeItem(key: string): void; } export interface TokenStore { getToken(origin?: string): string | null; setToken(token: string, origin?: string): void; clear(origin?: string): void; subscribe(listener: () => void, origin?: string): () => void; } export declare function createTokenStore(options?: TokenStoreOptions): TokenStore;