/// import * as express from 'express'; import { Client } from './models/client'; import { Token } from './models/token'; export { Client } from './models/client'; export { Token } from './models/token'; export { OAuth2FrameworkRouter } from './router'; export { OAuth2FrameworkError } from './models/oauth2-error'; export declare class OAuth2Framework { model: { findClient(client_id: string, request: express.Request): Promise; generateAccessToken(client_id: string, userName: string, scopes: string[], request: express.Request): Promise; generateCode(client_id: string, userName: string, scopes: string[], request: express.Request): Promise; register(client_id: string, emailAddress: string, userName: string, password: string, request: express.Request): Promise; resetPassword(client_id: string, userName: string, password: string, request: express.Request): Promise; sendForgotPasswordEmail(client_id: string, userName: string, resetPasswordUrl: string, request: express.Request): Promise; sendVerificationEmail(client_id: string, emailAddress: string, userName: string, verificationUrl: string, request: express.Request): Promise; validateAccessToken(access_token: string, request: express.Request): Promise; validateCode(code: string, request: express.Request): Promise; validateCredentials(client_id: string, userName: string, password: string, request: express.Request): Promise; verify(client_id: string, userName: string, request: express.Request): Promise; }; secret: string; constructor(model: { findClient(client_id: string, request: express.Request): Promise; generateAccessToken(client_id: string, userName: string, scopes: string[], request: express.Request): Promise; generateCode(client_id: string, userName: string, scopes: string[], request: express.Request): Promise; register(client_id: string, emailAddress: string, userName: string, password: string, request: express.Request): Promise; resetPassword(client_id: string, userName: string, password: string, request: express.Request): Promise; sendForgotPasswordEmail(client_id: string, userName: string, resetPasswordUrl: string, request: express.Request): Promise; sendVerificationEmail(client_id: string, emailAddress: string, userName: string, verificationUrl: string, request: express.Request): Promise; validateAccessToken(access_token: string, request: express.Request): Promise; validateCode(code: string, request: express.Request): Promise; validateCredentials(client_id: string, userName: string, password: string, request: express.Request): Promise; verify(client_id: string, userName: string, request: express.Request): Promise; }, secret: string); accessTokenRequest(grant_type: string, code: string, redirect_uri: string, client_id: string, client_secret: string, userName: string, password: string, scopes: string[], request: express.Request): Promise; authorizationRequest(response_type: string, client_id: string, redirect_uri: string, scopes: string[], state: string, userName: string, password: string, request: express.Request): Promise; validateAccessToken(access_token: string, request: express.Request): Promise; decodeAccessToken(access_token: string, request: express.Request): Promise; forgotPasswordRequest(client_id: string, userName: string, response_type: string, redirect_uri: string, state: string, request: express.Request): Promise; emailVerificationRequest(token: string, request: express.Request): Promise; registerRequest(client_id: string, emailAddress: string, userName: string, password: string, response_type: string, redirect_uri: string, state: string, request: express.Request): Promise; resetPasswordRequest(token: string, password: string, request: express.Request): Promise; decodeResetPasswordToken(token: string): Promise; decodeEmailVerificationToken(token: string): Promise; private decodeJWT(jwt); private findClientAndValidate(client_id, redirect_uri, scopes, request); private generateEmailVerificationToken(client_id, userName, return_url); private generateResetPasswordToken(client_id, userName, return_url); private throwIfClientDoesNotContainScope(client, scopes); private throwIfClientDoesNotContainUri(client, uri); private throwIfClientDoesNotMatchClientSecret(client, client_secret); private throwIfClientNull(client); private throwIfInvalidCredentials(validCredentials); private throwIfInvalidGrantType(grant_type); private throwIfInvalidResponseType(response_type); }