/** * Vertex AI Authentication Provider * * Comprehensive Vertex AI authentication with service account key management, * Application Default Credentials, environment-based configuration, and token management */ /// import { EventEmitter } from "events"; import { VertexAIConfig, AuthProvider, AuthCredentials, AuthenticationResult, RefreshTokenResult, ValidationResult } from "../../types/auth.js"; /** * Vertex AI Authentication Provider */ export declare class VertexAIProvider extends EventEmitter implements AuthProvider { readonly name = "vertex-ai"; readonly type: "service_account"; private config; private logger; private googleAuth; private authClient; private serviceAccountKey?; private readonly DEFAULT_SCOPES; constructor(config: VertexAIConfig); /** * Initialize and authenticate with Vertex AI */ authenticate(): Promise; /** * Refresh Vertex AI access token */ refresh(credentials: AuthCredentials): Promise; /** * Validate Vertex AI access token */ validate(credentials: AuthCredentials): Promise; /** * Revoke Vertex AI credentials (minimal implementation) */ revoke(credentials: AuthCredentials): Promise; /** * Get project information */ getProjectInfo(): Promise<{ projectId: string; projectNumber?: string; displayName?: string; location: string; }>; /** * Test Vertex AI connection */ testConnection(): Promise; /** * Initialize Google Auth library */ private initializeGoogleAuth; /** * Load service account key from file or object */ private loadServiceAccountKey; /** * Create Google Auth client */ private createAuthClient; /** * Get access token from auth client */ private getAccessToken; /** * Validate token by making a test API call */ private validateTokenWithAPI; /** * Extract permissions based on scopes and project access */ private extractPermissions; /** * Get authentication method being used */ private getAuthMethod; /** * Resolve key file path (handle relative paths and environment variables) */ private resolveKeyPath; /** * Generate unique session ID */ private generateSessionId; /** * Validate Vertex AI configuration */ private validateConfig; /** * Create standardized auth error */ private createAuthError; } //# sourceMappingURL=vertex-ai-provider.d.ts.map