import { RequestContext } from '@loopback/rest'; import { ILogger } from '@loopx/core'; import { AuthClient, User, UserRepository, UserTenantRepository } from '@loopx/user-core'; import { LoginType } from '../enums'; import { TokenResponse } from '../modules/auth'; import { JwtPayloadFn, JWTSignerFn } from '../providers'; import { LoginActivityRepository, RefreshTokenRepository } from '../repositories'; import { ActorId, ExternalTokens, IUserActivity } from '../types'; interface UserAware { userId?: string; user?: User; } export declare class TokenService { private readonly ctx; private readonly userRepo; private readonly userTenantRepo; private readonly refreshTokenRepo; private readonly getJwtPayload; private readonly jwtSigner; private readonly logger; private readonly loginActivityRepo; private readonly actorKey; private readonly userActivity?; constructor(ctx: RequestContext, userRepo: UserRepository, userTenantRepo: UserTenantRepository, refreshTokenRepo: RefreshTokenRepository, getJwtPayload: JwtPayloadFn, jwtSigner: JWTSignerFn, logger: ILogger, loginActivityRepo: LoginActivityRepository, actorKey: ActorId, userActivity?: IUserActivity | undefined); createJWT(payload: UserAware & ExternalTokens, authClient: AuthClient, loginType: LoginType, tenantId?: string): Promise; private markUserActivity; } export {};