import type { BaseClientOptions } from "../BaseClient"; import * as core from "../core"; declare const CLIENT_ID_PARAM: "clientId"; declare const CLIENT_SECRET_PARAM: "clientSecret"; declare const TOKEN_PARAM: "token"; export declare class OAuthAuthProvider implements core.AuthProvider { private readonly options; private readonly authClient; private accessToken; private expiresAt; private refreshPromise; constructor(options: OAuthAuthProvider.Options & OAuthAuthProvider.ClientCredentials); static canCreate(options?: Partial): boolean; private clientIdSupplier; private clientSecretSupplier; getAuthRequest({ endpointMetadata, }?: { endpointMetadata?: core.EndpointMetadata; }): Promise; private getToken; private refresh; private getExpiresAt; } export declare class OAuthTokenOverrideAuthProvider implements core.AuthProvider { private readonly options; constructor(options: OAuthAuthProvider.TokenOverride); static canCreate(options?: Partial): options is OAuthAuthProvider.TokenOverride; getAuthRequest({ endpointMetadata, }?: { endpointMetadata?: core.EndpointMetadata; }): Promise; } export declare namespace OAuthAuthProvider { const AUTH_SCHEME: "OAuthScheme"; const AUTH_CONFIG_ERROR_MESSAGE: string; type ClientCredentials = { [CLIENT_ID_PARAM]: core.Supplier; [CLIENT_SECRET_PARAM]: core.Supplier; }; type TokenOverride = { [TOKEN_PARAM]: core.Supplier; }; type AuthOptions = ClientCredentials | TokenOverride; type Options = BaseClientOptions & AuthOptions; function createInstance(options: Options): core.AuthProvider; } export {};