/** * Configuration management system with validation * Loads configuration from environment variables and config file */ import type { Config } from '../types/index.js'; /** * Current schema version */ export declare const SCHEMA_VERSION = "1.0.0"; /** * Default configuration values */ export declare const DEFAULT_CONFIG: Config; /** * Configuration validation error */ export declare class ConfigValidationError extends Error { errors: any[]; constructor(message: string, errors: any[]); } /** * Load and validate configuration * * Configuration is loaded in the following order (later sources override earlier ones): * 1. Default values * 2. Configuration file from default location (~/.knowledge-base/config.json) if it exists * 3. Configuration file (if explicitly provided via configPath parameter) * 4. Environment variables * * Also ensures required directories exist and creates default config if needed. * * @param configPath - Optional path to configuration file (overrides default location) * @returns Validated configuration object * @throws ConfigValidationError if configuration is invalid */ export declare function loadConfig(configPath?: string): Config; /** * Validate a configuration object without loading from file/env * Useful for testing */ export declare function validateConfigObject(config: unknown): config is Config; /** * Get validation errors for a configuration object */ export declare function getConfigValidationErrors(config: unknown): string[]; //# sourceMappingURL=config.d.ts.map