import type { TokenOrProvider, UserWithId } from './types'; /** * TokenManager * * Handles all the operations around user token. */ export declare class TokenManager { private loadTokenPromise; private type; private readonly secret?; private token?; private tokenProvider?; private user?; private isAnonymous?; constructor(secret?: string); /** * Set the static string token or token provider. * Token provider should return a token string or a promise which resolves to string token. * * @param {TokenOrProvider} tokenOrProvider - the token or token provider. * @param {UserResponse} user - the user object. * @param {boolean} isAnonymous - whether the user is anonymous or not. */ setTokenOrProvider: (tokenOrProvider: TokenOrProvider, user: UserWithId, isAnonymous: boolean) => Promise; /** * Resets the token manager. * Useful for client disconnection or switching user. */ reset: () => void; validateToken: (tokenOrProvider: TokenOrProvider) => void; tokenReady: () => Promise | null; loadToken: () => Promise; getToken: () => string | undefined; isStatic: () => boolean; }