/** * 🎯 L607-614 渐进式配置层 - 用户友好的配置管理 * * 核心理念:从简单到复杂的渐进式配置体验 * - 零配置:createSimpleUI18n() - 一行代码启动 * - 基础配置:createBasicUI18n() - 3个必需参数 * - 高级配置:createAdvancedUI18n() - 完整控制 * - 配置向导:ConfigWizard - 交互式生成 * - 实时验证:ConfigValidator - 错误检查和建议 */ import { UI18nConfig, AIProvider, SupportedLanguage } from './types'; import { UI18n } from './ui18n'; /** * 简化的配置接口 - 只包含最常用的必需项 */ export interface SimpleUI18nConfig { /** 默认语言 - 唯一必需项 */ language?: SupportedLanguage; /** AI API密钥 - 启用AI翻译 */ apiKey?: string; /** AI提供商 - 默认为openai */ provider?: AIProvider; /** 调试模式 */ debug?: boolean; } /** * 基础配置接口 - 中等复杂度 */ export interface BasicUI18nConfig extends SimpleUI18nConfig { /** 回退语言 */ fallbackLanguage?: SupportedLanguage; /** 预装字典 */ messages?: Record>; /** 缓存配置 */ cacheEnabled?: boolean; /** 服务模式 */ serviceMode?: 'self-hosted' | 'cloud' | 'hybrid'; } /** * 配置验证结果 */ export interface ConfigValidationResult { valid: boolean; errors: string[]; warnings: string[]; suggestions: string[]; score: number; } /** * 配置建议 */ export interface ConfigRecommendation { field: string; currentValue: any; suggestedValue: any; reason: string; impact: 'low' | 'medium' | 'high'; category: 'performance' | 'reliability' | 'cost' | 'usability'; } /** * 用户场景类型 */ export type UserScenario = 'personal-project' | 'startup' | 'enterprise' | 'development' | 'production' | 'multilingual-website' | 'mobile-app' | 'content-heavy' | 'realtime-app'; /** * 🚀 超简单创建函数 - 零配置体验 * 一行代码启动UI18n,自动检测语言和最佳配置 * * @param language 可选的默认语言,不传则自动检测 * @returns UI18n实例 * * @example * ```typescript * // 零配置 - 自动检测语言 * const ui18n = createSimpleUI18n(); * * // 指定语言 * const ui18n = createSimpleUI18n('zh-cn'); * ``` */ export declare function createSimpleUI18n(language?: SupportedLanguage): UI18n; /** * 🎯 基础创建函数 - 最常用配置项 * 提供用户最需要的配置选项,隐藏复杂细节 * * @param config 基础配置 * @returns UI18n实例 * * @example * ```typescript * // 基础配置 - 启用AI翻译 * const ui18n = createBasicUI18n({ * language: 'zh-cn', * apiKey: 'your-openai-api-key' * }); * * // 带预装字典 * const ui18n = createBasicUI18n({ * language: 'zh-cn', * messages: { * en: { 'hello': 'Hello' }, * 'zh-cn': { 'hello': '你好' } * } * }); * ``` */ export declare function createBasicUI18n(config?: BasicUI18nConfig): UI18n; /** * 🔧 高级创建函数 - 完整配置控制 * 直接传递完整配置,提供所有高级功能 * * @param config 完整UI18n配置 * @returns UI18n实例 * * @example * ```typescript * const ui18n = createAdvancedUI18n({ * defaultLanguage: 'zh-cn', * fallbackLanguage: 'en', * aiProvider: { * type: 'openai', * apiKey: 'your-api-key', * timeout: 15000 * }, * versionControl: { enabled: true }, * batchOptimization: { enabled: true } * }); * ``` */ export declare function createAdvancedUI18n(config: UI18nConfig): UI18n; /** * 🧙‍♂️ 配置向导类 - 交互式配置生成 * 通过问答方式帮助用户生成最适合的配置 */ export declare class ConfigWizard { private scenario?; private answers; /** * 开始配置向导 * @param scenario 用户场景 */ startWizard(scenario: UserScenario): this; /** * 设置答案 * @param question 问题键 * @param answer 答案 */ setAnswer(question: string, answer: any): this; /** * 获取推荐的配置问题 * @returns 配置问题列表 */ getConfigQuestions(): Array<{ key: string; question: string; type: 'text' | 'select' | 'boolean' | 'number'; options?: string[]; defaultValue?: any; required: boolean; description: string; }>; /** * 生成最终配置 * @returns 生成的配置对象 */ generateConfig(): UI18nConfig; /** * 获取配置摘要 * @returns 配置摘要信息 */ getConfigSummary(): { scenario: UserScenario; features: string[]; estimatedCost: string; performanceLevel: string; complexity: 'simple' | 'moderate' | 'complex'; }; private getScenarioSpecificQuestions; private getRecommendedServiceMode; private getRecommendedCacheTTL; private getRecommendedCacheSize; private getRecommendedTimeout; private estimateMonthlyOperatingCost; private getPerformanceLevel; } /** * 🛡️ 配置验证器 - 实时检查和建议 */ export declare class ConfigValidator { /** * 验证配置 * @param config 要验证的配置 * @returns 验证结果 */ static validateConfig(config: Partial): ConfigValidationResult; /** * 获取配置建议 * @param config 当前配置 * @param scenario 用户场景 * @returns 配置建议列表 */ static getConfigRecommendations(config: Partial, scenario?: UserScenario): ConfigRecommendation[]; /** * 修复配置 * @param config 要修复的配置 * @param fixes 要应用的修复 * @returns 修复后的配置 */ static fixConfig(config: Partial, fixes: string[]): UI18nConfig; /** * 验证API密钥格式 * @param apiKey API密钥 * @param provider 提供商 * @returns 是否有效 */ private static validateAPIKey; } /** * 便捷函数:创建配置向导实例 */ export declare function createConfigWizard(): ConfigWizard; /** * 便捷函数:快速验证配置 */ export declare function validateQuickConfig(config: Partial): boolean; //# sourceMappingURL=progressive-config.d.ts.map