/** * Unified Multimedia Pipeline * * Orchestrates Imagen 4, Chirp Audio, and Lyria Music generation * with shared infrastructure and optimizations */ /// import { EventEmitter } from "events"; import { MultimediaPipelineConfig, MultimediaPipelineResponse, MultimediaGenerationRequest, MultimediaGenerationResponse, MultimediaContext } from "../../types/multimedia.js"; export declare class MultimediaPipeline extends EventEmitter { private logger; private config; private performance; private cache; private imageGenerator; private audioProcessor; private musicComposer; private activeRequests; private requestQueue; private batchQueues; private batchTimers; private metrics; constructor(config: MultimediaPipelineConfig); /** * Initialize the multimedia pipeline */ private initializePipeline; /** * Setup event handlers for processors */ private setupEventHandlers; /** * Handle events from specialized processors */ private handleProcessorEvent; /** * Generate multimedia content */ generate(request: MultimediaGenerationRequest, context: MultimediaContext): Promise; /** * Process multimedia request */ private processRequest; /** * Stream multimedia generation */ generateStream(request: MultimediaGenerationRequest, context: MultimediaContext): AsyncIterableIterator; /** * Batch process multiple requests */ batchGenerate(requests: Array<{ request: MultimediaGenerationRequest; context: MultimediaContext; }>): Promise; /** * Validate multimedia request */ private validateRequest; /** * Validate content for safety */ private validateContent; /** * Check content safety */ private checkContentSafety; /** * Validate budget constraints */ private validateBudget; /** * Estimate cost for request */ private estimateCost; /** * Get request type */ private getRequestType; /** * Apply post-processing to results */ private applyPostProcessing; /** * Apply enterprise-level enhancements */ private applyEnterpriseEnhancements; /** * Apply compression optimizations */ private applyCompressionOptimizations; /** * Apply watermark for free tier */ private applyWatermark; /** * Generate cache key */ private generateCacheKey; /** * Sanitize request for caching (remove sensitive data) */ private sanitizeRequestForCaching; /** * Create metadata for response */ private createMetadata; /** * Create pipeline stages */ private createPipelineStages; /** * Update pipeline stages */ private updatePipelineStages; /** * Estimate completion time */ private estimateCompletionTime; /** * Check if request should be batched */ private shouldBatch; /** * Enqueue request for batch processing */ private enqueueBatchRequest; /** * Process batch queue */ private processBatchQueue; /** * Flush batch queue */ private flushBatchQueue; /** * Group requests by type for batch processing */ private groupRequestsByType; /** * Process batch by type */ private processBatchByType; /** * Setup batch processing timers */ private setupBatchProcessing; /** * Start monitoring */ private startMonitoring; /** * Collect metrics */ private collectMetrics; /** * Perform health check */ private performHealthCheck; /** * Get pipeline metrics */ getMetrics(): { avgLatency: number; successRate: number; cacheHitRate: number; activeRequests: number; queuedRequests: number; cacheStats: import("../../core/cache-manager.js").CacheStats; totalRequests: number; successfulRequests: number; failedRequests: number; imageRequests: number; audioRequests: number; musicRequests: number; batchRequests: number; cacheHits: number; totalLatency: number; totalCost: number; activeConnections: number; }; /** * Get active requests */ getActiveRequests(): MultimediaPipelineResponse[]; /** * Cancel request */ cancelRequest(requestId: string): Promise; /** * Shutdown pipeline */ shutdown(): Promise; } //# sourceMappingURL=multimedia-pipeline.d.ts.map