import { OAuthClient } from "../entities/client.entity" ; import { OAuthScope } from "../entities/scope.entity" ; import { OAuthToken } from "../entities/token.entity" ; import { OAuthUser } from "../entities/user.entity" ; export interface OAuthTokenRepository { issueToken ( client , scopes , user ? ) : Promise < OAuthToken > ; issueRefreshToken ( accessToken ) : Promise < OAuthToken > ; persist ( accessToken ) : Promise < void > ; revoke ( accessTokenToken ) : Promise < void > ; isRefreshTokenRevoked ( refreshToken ) : Promise < boolean > ; getByRefreshToken ( refreshTokenToken ) : Promise < OAuthToken > ; }