import { AnyObject, TInjectionGetter } from '../../../common'; import { ApplicationLogger } from '../../../helpers'; import { BaseModel, Client, Falsey, RequestAuthenticationModel, Token, User } from '@node-oauth/oauth2-server'; import { OAuth2Client, OAuth2Token } from '../models'; import { TBaseTzEntity } from '../../../base/models'; export interface IOAuth2AuthenticationHandler extends BaseModel, RequestAuthenticationModel { } export declare abstract class AbstractOAuth2AuthenticationHandler implements IOAuth2AuthenticationHandler { protected authServiceKey: string; protected logger: ApplicationLogger; protected injectionGetter: TInjectionGetter; constructor(opts: { scope?: string; authServiceKey: string; injectionGetter: TInjectionGetter; }); getClient(clientId: string, clientSecret: string): Promise; generateAccessToken(client: Client, user: User, scopes: string[]): Promise; _saveToken(opts: { type: string; token: string; client: Client; user: User; details?: AnyObject; }): Promise; saveToken(token: Token, client: Client, user: User): Promise; _getToken(opts: { type: string; token: string; }): Promise<{ token: OAuth2Token; client: OAuth2Client; user: TBaseTzEntity; }>; getAccessToken(accessToken: string): Promise; verifyScope(token: Token, scopes: string[]): Promise; } //# sourceMappingURL=base.d.ts.map