/** * 配置管理系统 * 集中管理所有游戏配置和环境变量 */ import { z } from 'zod'; /** * 数据库配置模式 */ declare const DatabaseConfigSchema: z.ZodObject<{ host: z.ZodDefault; port: z.ZodDefault; database: z.ZodString; user: z.ZodString; password: z.ZodString; maxConnections: z.ZodDefault; idleTimeoutMillis: z.ZodDefault; connectionTimeoutMillis: z.ZodDefault; }, "strip", z.ZodTypeAny, { idleTimeoutMillis: number; connectionTimeoutMillis: number; user: string; host: string; port: number; database: string; password: string; maxConnections: number; }, { user: string; database: string; password: string; idleTimeoutMillis?: number | undefined; connectionTimeoutMillis?: number | undefined; host?: string | undefined; port?: number | undefined; maxConnections?: number | undefined; }>; /** * 游戏配置模式 */ declare const GameConfigSchema: z.ZodObject<{ leveling: z.ZodObject<{ maxLevel: z.ZodDefault; expCurve: z.ZodDefault>; baseExpPerLevel: z.ZodDefault; expMultiplier: z.ZodDefault; }, "strip", z.ZodTypeAny, { maxLevel: number; expCurve: "linear" | "exponential"; baseExpPerLevel: number; expMultiplier: number; }, { maxLevel?: number | undefined; expCurve?: "linear" | "exponential" | undefined; baseExpPerLevel?: number | undefined; expMultiplier?: number | undefined; }>; combat: z.ZodObject<{ baseCritRate: z.ZodDefault; maxCritRate: z.ZodDefault; critMultiplier: z.ZodDefault; dodgeRate: z.ZodDefault; blockRate: z.ZodDefault; }, "strip", z.ZodTypeAny, { baseCritRate: number; maxCritRate: number; critMultiplier: number; dodgeRate: number; blockRate: number; }, { baseCritRate?: number | undefined; maxCritRate?: number | undefined; critMultiplier?: number | undefined; dodgeRate?: number | undefined; blockRate?: number | undefined; }>; crafting: z.ZodObject<{ minSuccessRate: z.ZodDefault; maxSuccessRate: z.ZodDefault; skillImpactFactor: z.ZodDefault; qualityBonusRate: z.ZodDefault; }, "strip", z.ZodTypeAny, { minSuccessRate: number; maxSuccessRate: number; skillImpactFactor: number; qualityBonusRate: number; }, { minSuccessRate?: number | undefined; maxSuccessRate?: number | undefined; skillImpactFactor?: number | undefined; qualityBonusRate?: number | undefined; }>; economy: z.ZodObject<{ startingGold: z.ZodDefault; maxGold: z.ZodDefault; vendorSellMultiplier: z.ZodDefault; repairCostMultiplier: z.ZodDefault; }, "strip", z.ZodTypeAny, { startingGold: number; maxGold: number; vendorSellMultiplier: number; repairCostMultiplier: number; }, { startingGold?: number | undefined; maxGold?: number | undefined; vendorSellMultiplier?: number | undefined; repairCostMultiplier?: number | undefined; }>; inventory: z.ZodObject<{ defaultSlots: z.ZodDefault; maxSlots: z.ZodDefault; stackSize: z.ZodDefault; }, "strip", z.ZodTypeAny, { defaultSlots: number; maxSlots: number; stackSize: number; }, { defaultSlots?: number | undefined; maxSlots?: number | undefined; stackSize?: number | undefined; }>; }, "strip", z.ZodTypeAny, { inventory: { defaultSlots: number; maxSlots: number; stackSize: number; }; leveling: { maxLevel: number; expCurve: "linear" | "exponential"; baseExpPerLevel: number; expMultiplier: number; }; combat: { baseCritRate: number; maxCritRate: number; critMultiplier: number; dodgeRate: number; blockRate: number; }; crafting: { minSuccessRate: number; maxSuccessRate: number; skillImpactFactor: number; qualityBonusRate: number; }; economy: { startingGold: number; maxGold: number; vendorSellMultiplier: number; repairCostMultiplier: number; }; }, { inventory: { defaultSlots?: number | undefined; maxSlots?: number | undefined; stackSize?: number | undefined; }; leveling: { maxLevel?: number | undefined; expCurve?: "linear" | "exponential" | undefined; baseExpPerLevel?: number | undefined; expMultiplier?: number | undefined; }; combat: { baseCritRate?: number | undefined; maxCritRate?: number | undefined; critMultiplier?: number | undefined; dodgeRate?: number | undefined; blockRate?: number | undefined; }; crafting: { minSuccessRate?: number | undefined; maxSuccessRate?: number | undefined; skillImpactFactor?: number | undefined; qualityBonusRate?: number | undefined; }; economy: { startingGold?: number | undefined; maxGold?: number | undefined; vendorSellMultiplier?: number | undefined; repairCostMultiplier?: number | undefined; }; }>; /** * 缓存配置模式 */ declare const CacheConfigSchema: z.ZodObject<{ enabled: z.ZodDefault; player: z.ZodObject<{ maxSize: z.ZodDefault; ttl: z.ZodDefault; }, "strip", z.ZodTypeAny, { ttl: number; maxSize: number; }, { ttl?: number | undefined; maxSize?: number | undefined; }>; inventory: z.ZodObject<{ maxSize: z.ZodDefault; ttl: z.ZodDefault; }, "strip", z.ZodTypeAny, { ttl: number; maxSize: number; }, { ttl?: number | undefined; maxSize?: number | undefined; }>; equipment: z.ZodObject<{ maxSize: z.ZodDefault; ttl: z.ZodDefault; }, "strip", z.ZodTypeAny, { ttl: number; maxSize: number; }, { ttl?: number | undefined; maxSize?: number | undefined; }>; }, "strip", z.ZodTypeAny, { player: { ttl: number; maxSize: number; }; inventory: { ttl: number; maxSize: number; }; equipment: { ttl: number; maxSize: number; }; enabled: boolean; }, { player: { ttl?: number | undefined; maxSize?: number | undefined; }; inventory: { ttl?: number | undefined; maxSize?: number | undefined; }; equipment: { ttl?: number | undefined; maxSize?: number | undefined; }; enabled?: boolean | undefined; }>; /** * 日志配置模式 */ declare const LogConfigSchema: z.ZodObject<{ level: z.ZodDefault>; pretty: z.ZodDefault; file: z.ZodObject<{ enabled: z.ZodDefault; path: z.ZodDefault; maxSize: z.ZodDefault; maxFiles: z.ZodDefault; }, "strip", z.ZodTypeAny, { path: string; enabled: boolean; maxSize: string; maxFiles: number; }, { path?: string | undefined; enabled?: boolean | undefined; maxSize?: string | undefined; maxFiles?: number | undefined; }>; }, "strip", z.ZodTypeAny, { level: "error" | "info" | "trace" | "debug" | "warn" | "fatal"; file: { path: string; enabled: boolean; maxSize: string; maxFiles: number; }; pretty: boolean; }, { file: { path?: string | undefined; enabled?: boolean | undefined; maxSize?: string | undefined; maxFiles?: number | undefined; }; level?: "error" | "info" | "trace" | "debug" | "warn" | "fatal" | undefined; pretty?: boolean | undefined; }>; /** * 服务器配置模式 */ declare const ServerConfigSchema: z.ZodObject<{ name: z.ZodDefault; version: z.ZodDefault; environment: z.ZodDefault>; }, "strip", z.ZodTypeAny, { name: string; version: string; environment: "development" | "production" | "test"; }, { name?: string | undefined; version?: string | undefined; environment?: "development" | "production" | "test" | undefined; }>; /** * 完整配置模式 */ declare const ConfigSchema: z.ZodObject<{ server: z.ZodObject<{ name: z.ZodDefault; version: z.ZodDefault; environment: z.ZodDefault>; }, "strip", z.ZodTypeAny, { name: string; version: string; environment: "development" | "production" | "test"; }, { name?: string | undefined; version?: string | undefined; environment?: "development" | "production" | "test" | undefined; }>; database: z.ZodObject<{ host: z.ZodDefault; port: z.ZodDefault; database: z.ZodString; user: z.ZodString; password: z.ZodString; maxConnections: z.ZodDefault; idleTimeoutMillis: z.ZodDefault; connectionTimeoutMillis: z.ZodDefault; }, "strip", z.ZodTypeAny, { idleTimeoutMillis: number; connectionTimeoutMillis: number; user: string; host: string; port: number; database: string; password: string; maxConnections: number; }, { user: string; database: string; password: string; idleTimeoutMillis?: number | undefined; connectionTimeoutMillis?: number | undefined; host?: string | undefined; port?: number | undefined; maxConnections?: number | undefined; }>; game: z.ZodObject<{ leveling: z.ZodObject<{ maxLevel: z.ZodDefault; expCurve: z.ZodDefault>; baseExpPerLevel: z.ZodDefault; expMultiplier: z.ZodDefault; }, "strip", z.ZodTypeAny, { maxLevel: number; expCurve: "linear" | "exponential"; baseExpPerLevel: number; expMultiplier: number; }, { maxLevel?: number | undefined; expCurve?: "linear" | "exponential" | undefined; baseExpPerLevel?: number | undefined; expMultiplier?: number | undefined; }>; combat: z.ZodObject<{ baseCritRate: z.ZodDefault; maxCritRate: z.ZodDefault; critMultiplier: z.ZodDefault; dodgeRate: z.ZodDefault; blockRate: z.ZodDefault; }, "strip", z.ZodTypeAny, { baseCritRate: number; maxCritRate: number; critMultiplier: number; dodgeRate: number; blockRate: number; }, { baseCritRate?: number | undefined; maxCritRate?: number | undefined; critMultiplier?: number | undefined; dodgeRate?: number | undefined; blockRate?: number | undefined; }>; crafting: z.ZodObject<{ minSuccessRate: z.ZodDefault; maxSuccessRate: z.ZodDefault; skillImpactFactor: z.ZodDefault; qualityBonusRate: z.ZodDefault; }, "strip", z.ZodTypeAny, { minSuccessRate: number; maxSuccessRate: number; skillImpactFactor: number; qualityBonusRate: number; }, { minSuccessRate?: number | undefined; maxSuccessRate?: number | undefined; skillImpactFactor?: number | undefined; qualityBonusRate?: number | undefined; }>; economy: z.ZodObject<{ startingGold: z.ZodDefault; maxGold: z.ZodDefault; vendorSellMultiplier: z.ZodDefault; repairCostMultiplier: z.ZodDefault; }, "strip", z.ZodTypeAny, { startingGold: number; maxGold: number; vendorSellMultiplier: number; repairCostMultiplier: number; }, { startingGold?: number | undefined; maxGold?: number | undefined; vendorSellMultiplier?: number | undefined; repairCostMultiplier?: number | undefined; }>; inventory: z.ZodObject<{ defaultSlots: z.ZodDefault; maxSlots: z.ZodDefault; stackSize: z.ZodDefault; }, "strip", z.ZodTypeAny, { defaultSlots: number; maxSlots: number; stackSize: number; }, { defaultSlots?: number | undefined; maxSlots?: number | undefined; stackSize?: number | undefined; }>; }, "strip", z.ZodTypeAny, { inventory: { defaultSlots: number; maxSlots: number; stackSize: number; }; leveling: { maxLevel: number; expCurve: "linear" | "exponential"; baseExpPerLevel: number; expMultiplier: number; }; combat: { baseCritRate: number; maxCritRate: number; critMultiplier: number; dodgeRate: number; blockRate: number; }; crafting: { minSuccessRate: number; maxSuccessRate: number; skillImpactFactor: number; qualityBonusRate: number; }; economy: { startingGold: number; maxGold: number; vendorSellMultiplier: number; repairCostMultiplier: number; }; }, { inventory: { defaultSlots?: number | undefined; maxSlots?: number | undefined; stackSize?: number | undefined; }; leveling: { maxLevel?: number | undefined; expCurve?: "linear" | "exponential" | undefined; baseExpPerLevel?: number | undefined; expMultiplier?: number | undefined; }; combat: { baseCritRate?: number | undefined; maxCritRate?: number | undefined; critMultiplier?: number | undefined; dodgeRate?: number | undefined; blockRate?: number | undefined; }; crafting: { minSuccessRate?: number | undefined; maxSuccessRate?: number | undefined; skillImpactFactor?: number | undefined; qualityBonusRate?: number | undefined; }; economy: { startingGold?: number | undefined; maxGold?: number | undefined; vendorSellMultiplier?: number | undefined; repairCostMultiplier?: number | undefined; }; }>; cache: z.ZodObject<{ enabled: z.ZodDefault; player: z.ZodObject<{ maxSize: z.ZodDefault; ttl: z.ZodDefault; }, "strip", z.ZodTypeAny, { ttl: number; maxSize: number; }, { ttl?: number | undefined; maxSize?: number | undefined; }>; inventory: z.ZodObject<{ maxSize: z.ZodDefault; ttl: z.ZodDefault; }, "strip", z.ZodTypeAny, { ttl: number; maxSize: number; }, { ttl?: number | undefined; maxSize?: number | undefined; }>; equipment: z.ZodObject<{ maxSize: z.ZodDefault; ttl: z.ZodDefault; }, "strip", z.ZodTypeAny, { ttl: number; maxSize: number; }, { ttl?: number | undefined; maxSize?: number | undefined; }>; }, "strip", z.ZodTypeAny, { player: { ttl: number; maxSize: number; }; inventory: { ttl: number; maxSize: number; }; equipment: { ttl: number; maxSize: number; }; enabled: boolean; }, { player: { ttl?: number | undefined; maxSize?: number | undefined; }; inventory: { ttl?: number | undefined; maxSize?: number | undefined; }; equipment: { ttl?: number | undefined; maxSize?: number | undefined; }; enabled?: boolean | undefined; }>; log: z.ZodObject<{ level: z.ZodDefault>; pretty: z.ZodDefault; file: z.ZodObject<{ enabled: z.ZodDefault; path: z.ZodDefault; maxSize: z.ZodDefault; maxFiles: z.ZodDefault; }, "strip", z.ZodTypeAny, { path: string; enabled: boolean; maxSize: string; maxFiles: number; }, { path?: string | undefined; enabled?: boolean | undefined; maxSize?: string | undefined; maxFiles?: number | undefined; }>; }, "strip", z.ZodTypeAny, { level: "error" | "info" | "trace" | "debug" | "warn" | "fatal"; file: { path: string; enabled: boolean; maxSize: string; maxFiles: number; }; pretty: boolean; }, { file: { path?: string | undefined; enabled?: boolean | undefined; maxSize?: string | undefined; maxFiles?: number | undefined; }; level?: "error" | "info" | "trace" | "debug" | "warn" | "fatal" | undefined; pretty?: boolean | undefined; }>; }, "strip", z.ZodTypeAny, { database: { idleTimeoutMillis: number; connectionTimeoutMillis: number; user: string; host: string; port: number; database: string; password: string; maxConnections: number; }; server: { name: string; version: string; environment: "development" | "production" | "test"; }; game: { inventory: { defaultSlots: number; maxSlots: number; stackSize: number; }; leveling: { maxLevel: number; expCurve: "linear" | "exponential"; baseExpPerLevel: number; expMultiplier: number; }; combat: { baseCritRate: number; maxCritRate: number; critMultiplier: number; dodgeRate: number; blockRate: number; }; crafting: { minSuccessRate: number; maxSuccessRate: number; skillImpactFactor: number; qualityBonusRate: number; }; economy: { startingGold: number; maxGold: number; vendorSellMultiplier: number; repairCostMultiplier: number; }; }; cache: { player: { ttl: number; maxSize: number; }; inventory: { ttl: number; maxSize: number; }; equipment: { ttl: number; maxSize: number; }; enabled: boolean; }; log: { level: "error" | "info" | "trace" | "debug" | "warn" | "fatal"; file: { path: string; enabled: boolean; maxSize: string; maxFiles: number; }; pretty: boolean; }; }, { database: { user: string; database: string; password: string; idleTimeoutMillis?: number | undefined; connectionTimeoutMillis?: number | undefined; host?: string | undefined; port?: number | undefined; maxConnections?: number | undefined; }; server: { name?: string | undefined; version?: string | undefined; environment?: "development" | "production" | "test" | undefined; }; game: { inventory: { defaultSlots?: number | undefined; maxSlots?: number | undefined; stackSize?: number | undefined; }; leveling: { maxLevel?: number | undefined; expCurve?: "linear" | "exponential" | undefined; baseExpPerLevel?: number | undefined; expMultiplier?: number | undefined; }; combat: { baseCritRate?: number | undefined; maxCritRate?: number | undefined; critMultiplier?: number | undefined; dodgeRate?: number | undefined; blockRate?: number | undefined; }; crafting: { minSuccessRate?: number | undefined; maxSuccessRate?: number | undefined; skillImpactFactor?: number | undefined; qualityBonusRate?: number | undefined; }; economy: { startingGold?: number | undefined; maxGold?: number | undefined; vendorSellMultiplier?: number | undefined; repairCostMultiplier?: number | undefined; }; }; cache: { player: { ttl?: number | undefined; maxSize?: number | undefined; }; inventory: { ttl?: number | undefined; maxSize?: number | undefined; }; equipment: { ttl?: number | undefined; maxSize?: number | undefined; }; enabled?: boolean | undefined; }; log: { file: { path?: string | undefined; enabled?: boolean | undefined; maxSize?: string | undefined; maxFiles?: number | undefined; }; level?: "error" | "info" | "trace" | "debug" | "warn" | "fatal" | undefined; pretty?: boolean | undefined; }; }>; /** * 配置类型 */ export type Config = z.infer; export type DatabaseConfig = z.infer; export type GameConfig = z.infer; export type CacheConfig = z.infer; export type LogConfig = z.infer; export type ServerConfig = z.infer; /** * 全局配置实例 */ export declare const config: { database: { idleTimeoutMillis: number; connectionTimeoutMillis: number; user: string; host: string; port: number; database: string; password: string; maxConnections: number; }; server: { name: string; version: string; environment: "development" | "production" | "test"; }; game: { inventory: { defaultSlots: number; maxSlots: number; stackSize: number; }; leveling: { maxLevel: number; expCurve: "linear" | "exponential"; baseExpPerLevel: number; expMultiplier: number; }; combat: { baseCritRate: number; maxCritRate: number; critMultiplier: number; dodgeRate: number; blockRate: number; }; crafting: { minSuccessRate: number; maxSuccessRate: number; skillImpactFactor: number; qualityBonusRate: number; }; economy: { startingGold: number; maxGold: number; vendorSellMultiplier: number; repairCostMultiplier: number; }; }; cache: { player: { ttl: number; maxSize: number; }; inventory: { ttl: number; maxSize: number; }; equipment: { ttl: number; maxSize: number; }; enabled: boolean; }; log: { level: "error" | "info" | "trace" | "debug" | "warn" | "fatal"; file: { path: string; enabled: boolean; maxSize: string; maxFiles: number; }; pretty: boolean; }; }; /** * 获取配置的辅助函数 */ export declare function getConfig(): Config; export declare function getDatabaseConfig(): DatabaseConfig; export declare function getGameConfig(): GameConfig; export declare function getCacheConfig(): CacheConfig; export declare function getLogConfig(): LogConfig; export declare function getServerConfig(): ServerConfig; /** * 打印配置信息(隐藏敏感信息) */ export declare function printConfig(): void; /** * 导出默认配置 */ export default config; //# sourceMappingURL=index.d.ts.map