/** * Configuration Manager for Gemini-Flow CLI * Handles configuration loading, validation, and management */ export interface GeminiFlowConfig { version: string; profiles: Record; global: GlobalConfig; agents: AgentConfig; swarm: SwarmConfig; google: GoogleConfig; } export interface ProfileConfig { name: string; description?: string; google?: Partial; agents?: Partial; swarm?: Partial; } export interface GlobalConfig { logLevel: "error" | "warn" | "info" | "debug"; cacheDir: string; dataDir: string; tempDir: string; parallelExecution: boolean; maxConcurrency: number; timeout: number; } export interface AgentConfig { defaultCount: number; maxAgents: number; spawnTimeout: number; heartbeatInterval: number; memoryLimit: number; types: Record; } export interface AgentTypeConfig { name: string; description: string; capabilities: string[]; resources: { memory: number; cpu: number; }; } export interface SwarmConfig { defaultTopology: "hierarchical" | "mesh" | "ring" | "star"; consensusAlgorithm: string; coordinationTimeout: number; syncInterval: number; maxRetries: number; } export interface GoogleConfig { projectId?: string; clientId?: string; clientSecret?: string; serviceAccountPath?: string; region: string; models: { gemini: { version: string; maxTokens: number; }; vertex: { region: string; models: string[]; }; }; } export declare class ConfigManager { private logger; private config; private configPath; private globalOptions; constructor(); /** * Initialize configuration manager */ initialize(): Promise; /** * Load configuration from file or create default */ loadConfig(): Promise; /** * Save configuration to file */ saveConfig(): Promise; /** * Get configuration */ getConfig(): GeminiFlowConfig; /** * Get profile configuration */ getProfile(profileName: string): ProfileConfig | null; /** * Set profile configuration */ setProfile(profileName: string, profile: ProfileConfig): Promise; /** * Delete profile */ deleteProfile(profileName: string): Promise; /** * List all profiles */ listProfiles(): string[]; /** * Update global configuration */ updateGlobal(updates: Partial): Promise; /** * Update Google configuration */ updateGoogle(updates: Partial): Promise; /** * Validate configuration */ validate(): Promise<{ valid: boolean; issues: string[]; }>; /** * Set global options from CLI */ setGlobalOptions(options: any): void; /** * Get global options */ getGlobalOptions(): any; /** * Create default configuration */ private createDefaultConfig; /** * Ensure configuration directory exists */ private ensureConfigDirectory; /** * Get configuration file path */ getConfigPath(): string; /** * Reset configuration to defaults */ resetToDefaults(): Promise; } //# sourceMappingURL=config-manager.d.ts.map