import { HandleClientAuthentication } from './client-authentication'; import { HandleAuthorizationCodeGrant, HandleClientCredentialsGrant, HandleRefreshTokenGrant } from './grant-types'; export declare const BEARER_TOKEN_TYPE = "Bearer"; export interface AccessTokenRequest { headers: { authorization?: string; }; body: { grantType?: string; code?: string; redirectUri?: string; clientId?: string; clientSecret?: string; refreshToken?: string; scope?: string; }; } export interface AccessTokenResponse { accessToken: string; tokenType: string; expiresIn: number; refreshToken?: string; scope?: string; } export declare type HandleAccessTokenRequest = (req: AccessTokenRequest) => Promise; export declare const makeHandleAccessTokenRequest: ({ handleClientAuthentication, handleAuthorizationCodeGrant, handleClientCredentialsGrant, handleRefreshTokenGrant, }: { handleClientAuthentication: HandleClientAuthentication; handleAuthorizationCodeGrant: HandleAuthorizationCodeGrant; handleClientCredentialsGrant: HandleClientCredentialsGrant; handleRefreshTokenGrant: HandleRefreshTokenGrant; }) => { handleAccessTokenRequest: HandleAccessTokenRequest; };