import type { AwsCredentialIdentityProvider } from '@smithy/types'; import { Mode } from '../plugin/mode'; import { PluginHost } from '../plugin/plugin'; /** * Cache for credential providers. * * Given an account and an operating mode (read or write) will return an * appropriate credential provider for credentials for the given account. The * credential provider will be cached so that multiple AWS clients for the same * environment will not make multiple network calls to obtain credentials. * * Will use default credentials if they are for the right account; otherwise, * all loaded credential provider plugins will be tried to obtain credentials * for the given account. */ export declare class CredentialPlugins { private readonly cache; private readonly host; constructor(host?: PluginHost); fetchCredentialsFor(awsAccountId: string, mode: Mode): Promise; get availablePluginNames(): string[]; private lookupCredentials; } /** * Result from trying to fetch credentials from the Plugin host */ export interface PluginCredentialsFetchResult { /** * SDK-v3 compatible credential provider */ readonly credentials: AwsCredentialIdentityProvider; /** * Name of plugin that successfully provided credentials */ readonly pluginName: string; }