import { TranslationRequest, TranslationResult, SupportedLanguage } from './types'; import { AITranslator } from './ai-translator'; import { ConcurrentTranslationQueue, TaskPriority } from './concurrent-translation-queue'; /** * 批处理请求 */ export interface BatchRequest { id: string; requests: TranslationRequest[]; targetLanguage: SupportedLanguage; priority: TaskPriority; timestamp: number; context?: string; } /** * 批处理结果 */ export interface BatchResult { id: string; results: TranslationResult[]; totalTime: number; successCount: number; failureCount: number; } /** * 批处理配置 */ export interface BatchOptimizerConfig { enabled: boolean; maxBatchSize: number; batchTimeout: number; minBatchSize: number; enableRequestMerging: boolean; mergingTimeout: number; enableSmartGrouping: boolean; maxConcurrentBatches: number; costThreshold: number; enableAdaptiveBatching: boolean; } /** * 智能批处理和请求合并管理器 */ export declare class SmartBatchOptimizer { private config; private aiTranslator; private translationQueue; private pendingBatches; private batchTimers; private activeBatches; private mergingBuffer; private mergingTimers; private stats; private adaptiveStats; constructor(aiTranslator: AITranslator, translationQueue: ConcurrentTranslationQueue, config?: Partial); /** * 处理翻译请求,决定是否批处理 */ processRequest(request: TranslationRequest, priority?: TaskPriority): Promise; /** * 尝试合并请求 */ private tryMergeRequest; /** * 处理合并的请求 */ private processMergedRequest; /** * 获取合并键 */ private getMergeKey; /** * 添加到批处理 */ private addToBatch; /** * 获取批处理键 */ private getBatchKey; /** * 处理批次 */ processBatch(batchKey: string): Promise; /** * 按文本相似度分组 */ private groupByTextSimilarity; /** * 计算文本相似度 */ private calculateTextSimilarity; /** * 分割批处理结果 */ private splitBatchResult; /** * 回退到单个处理 */ private fallbackToIndividualProcessing; /** * 更新批处理统计 */ private updateBatchStats; /** * 调整最优批处理大小 */ private adjustOptimalBatchSize; /** * 生成批处理ID */ private generateBatchId; /** * 简单哈希函数 */ private simpleHash; /** * 获取统计信息 */ getStats(): { currentOptimalBatchSize: number; pendingBatches: number; activeBatches: number; mergingBuffer: number; totalRequests: number; batchedRequests: number; mergedRequests: number; costSavings: number; averageBatchSize: number; batchingEfficiency: number; }; /** * 刷新所有待处理的批次 */ flush(): void; /** * 销毁批处理器 */ destroy(): void; } //# sourceMappingURL=smart-batch-optimizer.d.ts.map