import { JwtGenerator } from '../JwtGenerator'; import { IAccessToken, IAccessTokenProvider, ITokenContext } from './interfaces'; import { IExtraData } from '../../Cards/ICard'; /** * Implementation of {@link IAccessTokenProvider} that generates a * new JWT whenever it is requested by the clients. * * This class is meant to be used on the server side only. */ export declare class GeneratorJwtProvider implements IAccessTokenProvider { private readonly jwtGenerator; private readonly additionalData?; private readonly defaultIdentity?; /** * Creates a new instance of `GeneratorJwtProvider` with the given * {@link JwtGenerator}, additional data and default identity. * * @param {JwtGenerator} jwtGenerator - Object to delegate the JWT generation to. * @param {IExtraData} additionalData - Additional data to include with the JWT. * @param {string} defaultIdentity - Identity of the user to include in the token * when none is provided explicitly by the client. */ constructor(jwtGenerator: JwtGenerator, additionalData?: IExtraData | undefined, defaultIdentity?: string | undefined); /** * Returns a `Promise` fulfilled with the JWT obtained from the call * to {@link GeneratorJwtProvider.jwtGenerator} {@link JwtGenerator.generateToken} * method, passing it the {@link GeneratorJwtProvider.additionalData} and * {@link GeneratorJwtProvider.defaultIdentity} * * @param {ITokenContext} context * @returns {Promise} */ getToken(context: ITokenContext): Promise; }