import { ITokenProvider } from "./ITokenProvider";
import HttpClient from "./HttpClient"

/**
 * @description Http client provider for API using bearer token authorization
 * @param tokenProvider can be a token provider like ClientCredentialTokenProvider
 * @param {string} baseAddress 
 */
declare function BearerTokenHttpClientProvider(tokenProvider: ITokenProvider, baseAddress: string): void;

interface BearerTokenHttpClientProvider {
    RetrieveClient(): Promise<HttpClient>;
}

export default BearerTokenHttpClientProvider;