import type NetworkClient from '../../communication/NetworkClient'; import type Token from '../../data/oauth/data'; import type Callback from '../../types/Callback'; import { type CreateParameters, type RevokeParameters } from './parameters'; export default class OAuthBinder { protected readonly networkClient: NetworkClient; protected readonly endpoint: string; constructor(networkClient: NetworkClient, endpoint?: string); /** * Makes an OAuth API request with Basic authentication. * OAuth token endpoints require application/x-www-form-urlencoded body encoding * and Basic auth with client credentials (different from standard Mollie API). */ protected request(method: string, basicAuthToken: string, data?: Partial>): Promise; /** * Exchange the authorization code for an access token, or refresh an existing access token. * * @since 4.4.0 * @see https://docs.mollie.com/reference/oauth-generate-tokens */ create(parameters: CreateParameters): Promise; create(parameters: CreateParameters, callback: Callback): void; /** * Revoke an access token or refresh token. Once revoked, the token can no longer be used. * * @since 4.4.0 * @see https://docs.mollie.com/reference/oauth-revoke-tokens */ revoke(parameters: RevokeParameters): Promise; revoke(parameters: RevokeParameters, callback: Callback): void; }