import type { Config as ProviderConfig, Connection } from '../models/index.js';
import type { ProviderOAuth2 } from '@nangohq/types';
declare class ProviderClient {
    shouldUseProviderClient(provider: string): boolean;
    shouldIntrospectToken(provider: string): boolean;
    getToken(config: ProviderConfig, tokenUrl: string, code: string, callBackUrl: string, codeVerifier: string): Promise<object>;
    refreshToken(provider: ProviderOAuth2, config: ProviderConfig, connection: Connection): Promise<object>;
    introspectedTokenExpired(config: ProviderConfig, connection: Connection): Promise<boolean>;
    private createFigmaToken;
    private createFacebookToken;
    private createTiktokAdsToken;
    private createStripeAppToken;
    private refreshStripeAppToken;
    private createTiktokAccountsToken;
    private refreshTiktokAccountsToken;
    private refreshFigmaToken;
    private refreshFacebookToken;
    private createBraintreeToken;
    private createCorosToken;
    private refreshCorosToken;
    private refreshBraintreeToken;
    private introspectedSalesforceTokenExpired;
}
declare const _default: ProviderClient;
export default _default;
