import { type z } from '@frontmcp/lazy-zod'; /** * Options for the config loader. */ export interface ConfigLoaderOptions { /** Base path for resolving files (default: process.cwd()) */ basePath?: string; /** Path to .env file (default: '.env') */ envPath?: string; /** Path to local override file (default: '.env.local') */ localEnvPath?: string; /** Path to YAML config file (default: 'config.yml') */ configPath?: string; /** Whether to load .env files (default: true) */ loadEnv?: boolean; /** Whether to load YAML config (default: false - opt-in) */ loadYaml?: boolean; /** Whether to populate process.env (default: true) */ populateProcessEnv?: boolean; } /** * Load configuration from multiple sources and merge. * Priority: env > yaml > schema defaults * * @param schema - Zod schema defining the configuration structure * @param options - Loader options * @returns Validated and merged configuration */ export declare function loadConfig(schema: z.ZodType, options?: ConfigLoaderOptions): Promise; /** * Deep merge two objects, with source values taking precedence. * Arrays are replaced, not merged. */ declare function deepMerge(target: Record, source: Record): Record; export { deepMerge }; //# sourceMappingURL=config-loader.d.ts.map