/**
 * interpolate.ts
 *
 * Resolves ${{ VAR }} and ${{ VAR | default }} expressions in YAML-loaded
 * configuration values. Used by the source loader to inject environment
 * variables into config/sources.yaml at parse time.
 *
 * Design choices:
 *   - ${{ }} syntax (not ${ }) to avoid collision with shell and JS templates
 *   - Required by default — missing var with no default throws immediately
 *   - Pipe | for defaults — familiar from GitHub Actions, Helm, etc.
 *   - No nested logic — this is substitution, not a template engine
 *   - Recursive on objects/arrays — env vars work at any depth
 */
/**
 * Recursively interpolate all string values in a parsed YAML structure.
 * Non-string values (numbers, booleans, null) pass through unchanged.
 */
export declare function interpolate<T>(value: T, env?: Record<string, string | undefined>): T;
/**
 * Interpolate a single string value, replacing all ${{ VAR }} expressions
 * with values from the provided environment record.
 *
 * @throws Error if a required variable (no default) is not set
 */
export declare function interpolateString(value: string, env?: Record<string, string | undefined>): string;
