import type { ONIConfig, LoadConfigOptions } from "./types.js"; /** * Strip comments from JSONC text. * Handles: * - `//` line comments * - `/* ... * /` block comments * - Preserves comments inside quoted strings * - Handles escaped quotes within strings */ export declare function stripJsonComments(text: string): string; /** * Parse a JSONC string (JSON with comments) into a value. * Strips comments first, then delegates to JSON.parse. */ export declare function parseJsonc(text: string): unknown; /** * Deep merge two objects. Object keys are merged recursively. * Arrays and primitives are replaced (not merged). * undefined values in override are skipped (don't overwrite base). * null values in override DO replace base values. * * Does NOT mutate base or override — returns a new object. */ export declare function deepMerge>(base: T, override: Partial): T; /** * Load and merge ONI configuration from hierarchical paths. * * Resolution order (last wins): * 1. `~/.oni/config.jsonc` — global defaults * 2. `/oni.jsonc` — project-level * 3. `/.oni/config.jsonc` — alternative project-level * 4. `inline` option — programmatic override (highest priority) * * Invalid files are silently skipped (logged but don't throw). */ export declare function loadConfig(options?: LoadConfigOptions): Promise; //# sourceMappingURL=loader.d.ts.map