/** * Settings store — read-write facade around `host.config.json` for the * /api/settings route. * * The installer (`6.4.1`) owns the schema (`HostConfigFile` v3). This module * just delegates load/persist to that file's helpers; it exists so route * handlers can read/write without each one re-resolving `configPath(dataDir)`. * * PUT semantics live in routes/settings.ts; this class is purely an I/O * boundary so tests can swap it for an in-memory fake. */ import { type HostConfigFile } from '../installer/config.js'; export interface HostSettingsStoreOptions { /** Resolved cadre-host data dir. */ dataDir: string; } export declare class HostSettingsStore { private readonly configPath; constructor(opts: HostSettingsStoreOptions); /** Read the current host.config.json. Throws if absent, malformed, or not version 3. */ read(): HostConfigFile; /** Patch and persist. */ update(patch: Partial>): HostConfigFile; }