/**
 * YAML/JSON proxy configuration loader with environment variable resolution.
 *
 * Supports:
 * - Loading config from YAML or JSON files
 * - Environment variable interpolation: ${VAR_NAME} and ${VAR_NAME:-default}
 * - Multi-account proxy configurations
 * - Defaults for optional fields
 *
 * YAML parsing uses `js-yaml` when available (dynamic import), otherwise
 * falls back to JSON.parse.
 */
import type { LoadProxyConfigOptions, ProxyConfigFile } from "../types/index.js";
/**
 * Replace all `${VAR}` / `${VAR:-default}` references in a string.
 *
 * Resolution order:
 * 1. Look up `VAR` in the provided env map (or process.env)
 * 2. If not found, use the `:-default` value when present
 * 3. If no default, leave the original `${VAR}` token so callers can detect
 *    unresolved variables.
 */
export declare function resolveEnvVars(value: string, env?: Record<string, string | undefined>): string;
/**
 * Validate the shape of a parsed proxy config.
 * Returns an array of human-readable error strings (empty = valid).
 */
export declare function validateProxyConfig(config: unknown): string[];
/**
 * Load and parse a proxy configuration file (YAML or JSON).
 *
 * @param filePath - Absolute or relative path to the config file.
 * @param options  - Optional settings for env resolution.
 * @returns Parsed and validated ProxyConfigFile.
 * @throws When the file cannot be read, parsed, or fails validation.
 */
export declare function loadProxyConfig(filePath: string, options?: LoadProxyConfigOptions): Promise<ProxyConfigFile>;
/**
 * Load proxy config from a raw string (YAML or JSON) instead of a file path.
 * Useful for testing or when config is stored in environment variables.
 */
export declare function parseProxyConfigString(content: string, options?: LoadProxyConfigOptions): Promise<ProxyConfigFile>;
