import { _AbstractBearerTokenProviderBuilder as AbstractBearerTokenProviderBuilder, _AbstractOAuthClient as AbstractOAuthClient } from './abstract-oauth-client';
import { BearerAuthCredentials } from '../rest-service';
import { _BearerTokenProvider as BearerTokenProvider } from './bearer-token-provider';
declare class OAuthClientBuilder extends AbstractBearerTokenProviderBuilder {
    static readonly requiredFields: string[];
    constructor(bearerAuthCredentials: BearerAuthCredentials);
    protected validate(): void;
    build(maxRetries: number, retriesWaitMs: number, retriesMaxWaitMs: number): BearerTokenProvider;
}
declare class OAuthClient extends AbstractOAuthClient {
    private client;
    private tokenObject;
    private tokenParams;
    constructor(bearerAuthCredentials: BearerAuthCredentials, maxRetries: number, retriesWaitMs: number, retriesMaxWaitMs: number);
    fetchToken(): Promise<string>;
    tokenExpired(): boolean;
    private getAccessTokenString;
}
export { OAuthClient as _OAuthClient, OAuthClientBuilder as _OAuthClientBuilder, };
