UNPKG

@ui18n/angular

Version:

🅰️ Modern Angular internationalization with standalone components, signals, and dependency injection support for Angular 15+

100 lines 2.58 kB
import { TranslationRequest, TranslationResult, AIProviderConfig } from './types'; export interface ServiceModeConfig { mode: 'self-hosted' | 'cloud' | 'hybrid'; selfHostedConfig?: { aiProvider?: AIProviderConfig; enableLocalCache?: boolean; enableOfflineMode?: boolean; }; cloudConfig?: { apiEndpoint?: string; apiKey?: string; timeout?: number; regions?: string[]; fallbackEndpoints?: string[]; }; hybridConfig?: { routingStrategy?: 'cost-optimal' | 'latency-optimal' | 'quality-optimal'; selfHostedThreshold?: number; cloudThreshold?: number; failoverTimeout?: number; enableIntelligentRouting?: boolean; }; } export interface ServiceModeStats { currentMode: 'self-hosted' | 'cloud' | 'hybrid'; totalRequests: number; selfHostedRequests: number; cloudRequests: number; hybridRequests: number; averageResponseTime: number; errorRate: number; costSavings: number; } /** * 服务模式管理器 * 管理自托管、云端服务和混合模式的智能路由 */ export declare class ServiceModeManager { private config; private stats; private selfHostedTranslator?; private cloudClient?; private routingStrategy; constructor(config: ServiceModeConfig); /** * 初始化服务实例 */ private initializeServices; /** * 智能翻译路由 */ translate(request: TranslationRequest): Promise<TranslationResult>; /** * 自托管翻译 */ private translateSelfHosted; /** * 云端翻译 */ private translateCloud; /** * 故障转移处理 */ private handleFailover; /** * 记录错误 */ private recordError; /** * 切换服务模式 */ switchMode(mode: 'self-hosted' | 'cloud' | 'hybrid'): Promise<void>; /** * 获取当前服务模式 */ getCurrentMode(): 'self-hosted' | 'cloud' | 'hybrid'; /** * 记录请求 */ recordRequest(mode: 'self-hosted' | 'cloud' | 'hybrid', responseTime: number): void; /** * 获取统计信息 */ getStats(): ServiceModeStats; /** * 获取路由策略统计 */ getRoutingStats(): { totalDecisions: number; selfHostedDecisions: number; cloudDecisions: number; avgDecisionTime: number; costSavings: number; }; /** * 销毁实例,清理资源 */ destroy(): void; } //# sourceMappingURL=service-mode.d.ts.map