import { _BearerTokenProvider as BearerTokenProvider, _BearerTokenProviderBuilder as BearerTokenProviderBuilder } from './bearer-token-provider'; import { BearerAuthCredentials } from '../rest-service'; declare abstract class AbstractBearerTokenProviderBuilder implements BearerTokenProviderBuilder { protected bearerAuthCredentials: BearerAuthCredentials; constructor(bearerAuthCredentials: BearerAuthCredentials); protected validate(): void; abstract build(maxRetries: number, retriesWaitMs: number, retriesMaxWaitMs: number): BearerTokenProvider; } declare abstract class AbstractOauthTokenProvider implements BearerTokenProvider { private additionalHeaders; constructor(bearerAuthCredentials: BearerAuthCredentials); abstract getAccessToken(): Promise; abstract tokenExpired(): boolean; getAdditionalHeaders(): Record; } declare abstract class AbstractOAuthClient extends AbstractOauthTokenProvider { private token; private maxRetries; private retriesWaitMs; private retriesMaxWaitMs; constructor(bearerAuthCredentials: BearerAuthCredentials, maxRetries: number, retriesWaitMs: number, retriesMaxWaitMs: number); abstract fetchToken(): Promise; getAccessToken(): Promise; generateAccessToken(): Promise; } export { AbstractBearerTokenProviderBuilder as _AbstractBearerTokenProviderBuilder, AbstractOauthTokenProvider as _AbstractOauthTokenProvider, AbstractOAuthClient as _AbstractOAuthClient, };