@jhzhu89/azure-client-pool
Version:
Azure client lifecycle management with intelligent caching and authentication
27 lines • 1.17 kB
TypeScript
import { type TokenCredential } from "@azure/identity";
import { type ClientManagerConfig, type DelegatedAuthConfig, type ApplicationAuthConfig } from "../config/configuration.js";
import { type AuthContext } from "../auth/context.js";
import { CredentialType } from "../types.js";
interface CacheStats {
applicationCredentials: {
size: number;
maxSize: number;
pendingRequests: number;
};
}
export declare class CredentialManager {
private readonly config;
private readonly applicationCredentialCache;
private readonly credentialFactory;
constructor(applicationConfig: ApplicationAuthConfig, delegatedConfig: DelegatedAuthConfig, config: ClientManagerConfig);
private createCredentialCache;
getCredential(authContext: AuthContext, authType: CredentialType): Promise<TokenCredential>;
getApplicationCredential(): Promise<TokenCredential>;
getDelegatedCredential(authContext: AuthContext): Promise<TokenCredential>;
private validateAndGetTokenContext;
private createApplicationRawCacheKey;
clearCache(): void;
getCacheStats(): CacheStats;
}
export {};
//# sourceMappingURL=manager.d.ts.map