import { ILogger } from '@loopx/core'; import { AuthClientRepository, UserRepository } from '@loopx/user-core'; import { AuthRefreshTokenRequest, AuthTokenRequest, AuthUser, TokenResponse } from '../modules/auth'; import { CodeReaderFn } from '../providers'; import { RefreshTokenRepository, RevokedTokenRepository } from '../repositories'; import { TokenService } from '../services'; export declare class TokensController { private readonly authClientRepo; private readonly userRepo; private readonly refreshTokenRepo; private readonly revokedTokenRepo; private readonly tokenService; private readonly logger; private readonly user; constructor(authClientRepo: AuthClientRepository, userRepo: UserRepository, refreshTokenRepo: RefreshTokenRepository, revokedTokenRepo: RevokedTokenRepository, tokenService: TokenService, logger: ILogger, user: AuthUser | undefined); getToken(req: AuthTokenRequest, codeReader: CodeReaderFn): Promise; exchangeToken(req: AuthRefreshTokenRequest): Promise; switchToken(req: AuthRefreshTokenRequest): Promise; me(): Promise; private createTokenPayload; }