/** * Unified configuration management for Poltergeist * Consolidates config loading, discovery, and validation logic */ import type { ZodError } from 'zod'; import type { PoltergeistConfig } from '../types.js'; export interface ConfigDiscoveryResult { config: PoltergeistConfig; configPath: string; projectRoot: string; } /** * Custom error class for configuration validation failures * Provides detailed, user-friendly error messages with specific field information */ export declare class ConfigValidationError extends Error { readonly validationErrors: string[]; constructor(message: string, zodError: ZodError); static formatZodErrors(zodError: ZodError): string[]; } /** * Centralized configuration management for all Poltergeist operations * * Note: Uses static-only class for namespacing and API organization. * This provides clear boundaries for configuration-related functionality. */ export declare class ConfigurationManager { static normalizeTargetName(name: string): string; /** * Load configuration from a specific file path */ static loadConfigFromPath(configPath: string): Promise; /** * Discover and load configuration by walking up the directory tree */ static discoverAndLoadConfig(startDir?: string): Promise; /** * Get configuration with standardized error handling */ static getConfig(configPathOrStartDir?: string): Promise; /** * Find a target by name in the configuration */ static findTarget(config: PoltergeistConfig, name: string): import("../types.js").Target | null; /** * Get all executable targets from configuration */ static getExecutableTargets(config: PoltergeistConfig): import("../types.js").ExecutableTarget[]; /** * Validate a configuration object without loading from file * Useful for programmatic validation */ static validateConfig(config: unknown): PoltergeistConfig; /** * Validate configuration and provide detailed suggestions */ static validateConfigWithSuggestions(config: unknown): { isValid: boolean; config?: PoltergeistConfig; errors?: string[]; suggestions?: string[]; }; /** * Generate helpful suggestions based on validation errors */ static generateSuggestions(zodError: ZodError): string[]; } //# sourceMappingURL=config-manager.d.ts.map