import { ServerConfig, ExecutionConfig } from './types.js'; export interface AppConfig { servers: Map; services: Map; jenkins: Map; k3sClusters: Map; groups: Map; } export interface ConfigStatus { hosts: { exists: boolean; path: string; initialized: boolean; }; jenkins: { exists: boolean; path: string; initialized: boolean; }; services: { exists: boolean; path: string; }; missing: string[]; } export declare class ConfigManager { private configDir; private hostsPath; private servicesPath; private jenkinsPath; private executionPath; private config; constructor(configDir?: string); expandPath(p: string): string; loadHosts(): Promise<{ servers: Map; groups: Map; k3sClusters: Map; }>; /** * 从服务器标签自动推导分组 */ private deriveGroupsFromTags; /** * 从服务器配置自动推导 K3s 集群 */ private deriveK3sClusters; /** * 应用默认配置到服务器 */ private applyDefaults; loadServices(): Promise>; loadJenkins(): Promise>; loadExecutionConfig(): Promise; private getExecutionConfigWithDefaults; getExecutionConfig(): Promise; getAll(): Promise; getServerByName(name: string): Promise; getAllServers(): Promise; getServersByTag(tag: string): Promise; getServersByGroup(groupName: string): Promise; getServiceServers(serviceName: string): Promise; getServersByK3sCluster(clusterName: string): Promise; getJenkinsInstance(name: string): Promise; checkConfig(): Promise; /** * 检查 hosts 配置是否已初始化(非模板默认值) */ private isHostsConfigured; /** * 检查 Jenkins 配置是否已初始化(非模板默认值) */ private isJenkinsConfigured; }