/**
 * Configuration engine for CLEO V2.
 *
 * Resolution priority: CLI flags > Environment vars > Project config > Global config > Defaults
 *
 * @epic T4454
 * @task T4458
 */
import type { CleoConfig, ResolvedValue } from '@cleocode/contracts';
/**
 * Load and merge configuration from all sources.
 * Priority: defaults < global config < project config < environment vars
 */
export declare function loadConfig(cwd?: string): Promise<CleoConfig>;
/**
 * Get a single config value with source tracking.
 * Returns the value and which source it came from.
 */
export declare function getConfigValue<T>(path: string, cwd?: string): Promise<ResolvedValue<T>>;
/**
 * Get a raw config value from the project config file only (no cascade).
 * Returns undefined if the key is not found.
 * Used by the engine layer for simple key lookups without source tracking.
 * @task T4789
 */
export declare function getRawConfigValue(key: string, cwd?: string): Promise<unknown>;
/**
 * Get the full raw project config (no cascade).
 * Returns null if no config file exists.
 * @task T4789
 */
export declare function getRawConfig(cwd?: string): Promise<Record<string, unknown> | null>;
/**
 * Parse a string value into its appropriate JS type.
 * Handles booleans, null, integers, floats, and JSON.
 * @task T4789
 */
export declare function parseConfigValue(value: unknown): unknown;
/**
 * Set a config value in the project or global config file (dot-notation supported).
 * Creates intermediate objects as needed. Parses string values into
 * appropriate types (boolean, number, null, JSON).
 * @task T4789
 * @task T4795
 */
export declare function setConfigValue(key: string, value: unknown, cwd?: string, opts?: {
    global?: boolean;
}): Promise<{
    key: string;
    value: unknown;
    scope: 'project' | 'global';
}>;
//# sourceMappingURL=config.d.ts.map