/** * Config Loader * * Reads a JSON config file, interpolates secrets/env vars, validates * against the merged schema, and returns a frozen ConfigStore. * * Merge order: schema defaults → config file → env overrides → explicit overrides. */ import type { SecretStore } from "@agentick/shared"; import { type FileConfig, type ConfigStore } from "./config.js"; /** * Resolve ${env:VAR} and ${secret:KEY} in string values. * Walks the object tree recursively. Returns a deep clone with resolved values. * Tracks which dot-paths came from secret interpolation (for redaction). */ export declare function interpolateConfig(raw: Record, secrets?: SecretStore): Promise<{ resolved: Record; secretPaths: Set; }>; export declare class ConfigValidationError extends Error { constructor(message: string); } export interface LoadConfigOptions { /** Path to config file (default: ./agentick.config.json) */ path?: string; /** Secret store for ${secret:KEY} interpolation */ secrets?: SecretStore; /** CLI/env overrides applied after file (highest priority) */ overrides?: Partial; } /** * Load config from file, interpolate, validate, and return a ConfigStore. * Does NOT call bindConfig() — callers bind explicitly. */ export declare function loadConfig(options?: LoadConfigOptions): Promise; //# sourceMappingURL=config-loader.d.ts.map