/** * Image Generation Pipeline * * Comprehensive pipeline for Imagen 4 image generation with style transfer, * prompt engineering, batch optimization, and caching strategies */ /// import { EventEmitter } from "events"; import { ImageGenerationConfig, ImageGenerationRequest, ImageGenerationResponse } from "../../types/multimedia.js"; export declare class ImageGenerationPipeline extends EventEmitter { private logger; private config; private performance; private imagenAdapter; private promptEngineer; private styleTransferEngine; private imageCache; private batchOptimizer; private vertexConnector; private isInitialized; private activeGenerations; private metrics; constructor(config: ImageGenerationConfig); /** * Initialize all pipeline components */ private initializeComponents; /** * Setup event handlers */ private setupEventHandlers; /** * Initialize the pipeline */ initialize(): Promise; /** * Generate image with full pipeline processing */ generateImage(request: ImageGenerationRequest): Promise; /** * Generate multiple images with batch optimization */ generateBatch(requests: ImageGenerationRequest[]): Promise; /** * Check cache for existing result */ private checkCache; /** * Enhance prompt using AI prompt engineering */ private enhancePrompt; /** * Optimize request for batch processing */ private optimizeBatch; /** * Process image generation through Imagen adapter */ private processGeneration; /** * Apply style transfer if requested */ private applyStyleTransfer; /** * Post-process generated images */ private postProcessImages; /** * Apply enterprise-level enhancements */ private applyEnterpriseEnhancements; /** * Apply compression optimizations */ private applyCompressionOptimizations; /** * Generate previews and thumbnails */ private generatePreviews; /** * Generate thumbnail */ private generateThumbnail; /** * Apply watermark for free tier */ private applyWatermark; /** * Cache generation result */ private cacheResult; /** * Process batch of requests */ private processBatch; /** * Update metrics */ private updateMetrics; /** * Validate request */ validateRequest(request: ImageGenerationRequest): Promise; /** * Estimate cost */ estimateCost(request: ImageGenerationRequest): number; /** * Cancel request */ cancelRequest(requestId: string): Promise; /** * Ensure pipeline is initialized */ private ensureInitialized; /** * Generate request ID */ private generateRequestId; /** * Health check */ healthCheck(): Promise<{ status: string; latency: number; error?: string; }>; /** * Get pipeline metrics */ getMetrics(): { imagenMetrics: { avgLatency: number; successRate: number; avgCostPerImage: number; activeRequests: number; availableModels: number; totalRequests: number; successfulRequests: number; failedRequests: number; totalImages: number; totalLatency: number; totalCost: number; styleTransferRequests: number; batchRequests: number; }; cacheMetrics: any; batchMetrics: any; activeGenerations: number; totalRequests: number; cacheHits: number; batchedRequests: number; styleTransferRequests: number; promptEnhancements: number; avgGenerationTime: number; totalCost: number; }; /** * Shutdown pipeline */ shutdown(): Promise; } //# sourceMappingURL=image-generation-pipeline.d.ts.map