import { OAuthClient } from "../entities/client.entity" ; import { OAuthUser , OAuthUserIdentifier } from "../entities/user.entity" ; import { GrantIdentifier } from "../grants/abstract/grant.interface" ; export type ExtraAccessTokenFields = Record < string , string | number | boolean > ; export interface OAuthUserRepository { getUserByCredentials ( identifier , password ? , grantType ? , client ? ) : Promise < OAuthUser | undefined > ; extraAccessTokenFields ? ( user ) : Promise < ExtraAccessTokenFields | undefined > ; }