@jhzhu89/azure-client-pool
Version:
Azure client lifecycle management with intelligent caching and authentication
38 lines • 1.53 kB
TypeScript
import { type TokenCredential } from "@azure/identity";
export declare const AuthMode: {
readonly Application: "application";
readonly Delegated: "delegated";
readonly Composite: "composite";
};
export type AuthMode = (typeof AuthMode)[keyof typeof AuthMode];
export declare const CredentialType: {
readonly Application: "application";
readonly Delegated: "delegated";
};
export type CredentialType = (typeof CredentialType)[keyof typeof CredentialType];
export interface ApplicationAuthRequest {
readonly mode: typeof AuthMode.Application;
}
export interface DelegatedAuthRequest {
readonly mode: typeof AuthMode.Delegated;
readonly accessToken: string;
}
export interface CompositeAuthRequest {
readonly mode: typeof AuthMode.Composite;
readonly accessToken: string;
}
export type AuthRequest = ApplicationAuthRequest | DelegatedAuthRequest | CompositeAuthRequest;
export interface CredentialProvider {
getCredential(authType: CredentialType): Promise<TokenCredential>;
}
export interface ClientFactory<TClient, TOptions = void> {
createClient(credentialProvider: CredentialProvider, options?: TOptions): Promise<TClient>;
getClientFingerprint?(options?: TOptions): string | undefined;
}
export declare const ApplicationAuthStrategy: {
readonly Cli: "cli";
readonly ManagedIdentity: "mi";
readonly Chain: "chain";
};
export type ApplicationAuthStrategy = (typeof ApplicationAuthStrategy)[keyof typeof ApplicationAuthStrategy];
//# sourceMappingURL=types.d.ts.map