import { RuntimeConfig, StageConfig } from '../../utils/types/runtime.config';
/**
 * Service for loading and validating Runtime configuration files
 */
export declare class ConfigService {
    private static readonly CONFIG_FILENAMES;
    /**
     * Load configuration from the specified path or discover it automatically
     */
    load(configPath?: string, cwd?: string): Promise<RuntimeConfig>;
    /**
     * Discover configuration file in the current working directory
     */
    private discoverConfigFile;
    /**
     * Load configuration file (supports both .ts and .js)
     */
    private loadConfigFile;
    /**
     * Load TypeScript configuration file
     * Note: This requires the config to be pre-compiled or uses ts-node if available
     */
    private loadTsConfig;
    /**
     * Validate configuration against schema and merge with defaults
     */
    private validateAndMerge;
    /**
     * Deep merge two objects
     */
    private deepMerge;
    /**
     * Get stage configuration by name
     */
    getStage(config: RuntimeConfig, stageName: string): StageConfig;
}
