import { Secret } from 'jsonwebtoken'; import { TokenOrProvider, ExtendableGenerics, DefaultGenerics, UserResponse } from './types'; /** * TokenManager * * Handles all the operations around user token. */ export declare class TokenManager { loadTokenPromise: Promise | null; type: 'static' | 'provider'; secret?: Secret; token?: string; tokenProvider?: TokenOrProvider; user?: UserResponse; /** * Constructor * * @param {Secret} secret */ constructor(secret?: Secret); /** * 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 * @param {UserResponse} user */ setTokenOrProvider: (tokenOrProvider: TokenOrProvider, user: UserResponse) => Promise; /** * Resets the token manager. * Useful for client disconnection or switching user. */ reset: () => void; validateToken: (tokenOrProvider: TokenOrProvider, user: UserResponse) => void; tokenReady: () => Promise | null; loadToken: () => Promise; getToken: () => string | undefined; isStatic: () => boolean; } //# sourceMappingURL=token_manager.d.ts.map