/** * `PATCH /api/config` — tail sections that are each <50 lines: * update / session / gateway.{skillsMarketplaceProvider, * skillsStoreBaseUrl} / providers / providersConfig / stt / tts / tools / * userContext.memory.retention.compaction / tunnel / bindings / mcp. * * Most of these delegate to a `mergeXxxConfigPatch(config, body) → { ok, * message? }` helper that lives next to the schema, so this file is mostly * "validate object shape, call helper, surface 400 on failure". The async * `providers` branch saves into the credential resolver rather than config. * * Final validation (resolveGatewayAuth + assertGatewayRuntimeConfig) runs * after every gateway-touching patch lands, so it sees the merged shape. */ import type { Config } from '../../../../config/schema.js'; import { type PatchResult } from './result.js'; export declare function applyMiscPatch(config: Config, body: any): Promise; /** * Re-validate gateway runtime config when `body.gateway` touched anything that * could break the bind/auth contract. Runs *after* all per-section patches * land so it sees the fully merged shape. */ export declare function validateGatewayAfterPatch(config: Config, body: any): PatchResult;