import { AccessToken } from "../models/auth/access-token"; import { RefreshToken } from '../models/auth/refresh-token'; import { UserPassport } from "../models/auth/user-passport"; import { IUserService } from './user.service'; export interface ITokenService { getAccessToken: (authCodeToken: string) => Promise; getRefreshToken: (accessToken: AccessToken) => Promise; verifyRefreshToken: (refreshToken: string) => RefreshToken; refreshAccessToken: (refreshToken: string) => Promise; getUserPassport: (accessToken: AccessToken, refreshToken: RefreshToken) => UserPassport; } export declare class TokenService implements ITokenService { tokenSecret: string; private userService; constructor(tokenSecret: string, userService: IUserService); getAccessToken: (authCodeToken: string) => Promise; getRefreshToken: (accessToken: AccessToken) => Promise; getUserPassport: (accessToken: AccessToken, refreshToken: RefreshToken) => UserPassport; verifyRefreshToken: (refreshToken: string) => RefreshToken; refreshAccessToken: (refreshToken: string) => Promise; private validateAuthCode; private validateRefreshToken; }