import { type EnvVarMeta } from './env.js'; import { type ModelSlotBinding } from '../agent/session/model-slots.js'; export declare const INHERITED_ENV_KEYS: ReadonlySet; export declare const PROTECTED_ENV_KEYS: ReadonlySet; export type EnvKeyClass = 'settable' | 'secret' | 'protected' | 'non-config' | 'unknown'; export declare function classifyEnvKey(name: string): EnvKeyClass; export type CoerceResult = { ok: true; value: string; } | { ok: false; error: string; }; export declare function coerceEnvValue(meta: EnvVarMeta, raw: string): CoerceResult; export type ConfigKeyTier = 'agent' | 'human'; export type ConfigKeyType = 'string' | 'number' | 'boolean' | 'enum' | 'number-array' | 'model-slot'; export interface ConfigKeySpec { readonly path: string; readonly tier: ConfigKeyTier; readonly type: ConfigKeyType; readonly enumValues?: readonly string[]; readonly clamp?: { readonly min: number; readonly max: number; readonly integer?: boolean; }; readonly description: string; } export declare const CONFIG_KEY_SPECS: readonly ConfigKeySpec[]; export declare function getConfigKeySpec(path: string): ConfigKeySpec | undefined; export type ConfigKeyClass = 'agent' | 'human' | 'unknown'; export declare function classifyConfigKey(path: string): ConfigKeyClass; export type ConfigCoerceResult = { ok: true; value: string | number | boolean | number[] | ModelSlotBinding; } | { ok: false; error: string; }; export declare function coerceConfigValue(spec: ConfigKeySpec, raw: unknown): ConfigCoerceResult; type Json = Record; export declare function getAtPath(obj: Json, path: string): unknown; export declare function setAtPath(obj: Json, path: string, value: unknown): void; export declare function unsetAtPath(obj: Json, path: string): boolean; export {};