import type { ModelSlotBinding } from '../agent/session/model-slots.js'; import { type EnvKeyClass, type ConfigKeyClass } from './settable-keys.js'; export declare const RESTART_NOTE = "effective on the next session/daemon restart; the current session is unchanged"; export declare class UnknownKeyError extends Error { constructor(key: string); } export declare class NonConfigKeyError extends Error { constructor(key: string); } export declare class SecretWriteRefused extends Error { constructor(key: string); } export declare class ProtectedEnvKeyRefused extends Error { constructor(key: string); } export declare class HumanOnlyKeyRefused extends Error { constructor(key: string); } export declare class ConfigValidationError extends Error { constructor(message: string); } export declare class MalformedConfigError extends Error { constructor(path: string); } export declare function maskSecret(value: string | undefined): string; export interface EnvOptions { allowSecret?: boolean; allowProtected?: boolean; filePath?: string; } export interface EnvVarView { key: string; class: EnvKeyClass; persisted: string | undefined; activeInProcess: boolean; } export interface EnvWriteResult { key: string; class: EnvKeyClass; persistedTo: string; display: string; } export declare function setEnvVar(key: string, rawValue: string, opts?: EnvOptions): EnvWriteResult; export interface EnvRemoveResult { key: string; class: EnvKeyClass; removed: boolean; persistedTo: string; } export declare function unsetEnvVar(key: string, opts?: EnvOptions): EnvRemoveResult; export declare function getEnvVar(key: string, opts?: EnvOptions): EnvVarView; export declare function listEnv(opts?: EnvOptions & { all?: boolean; }): EnvVarView[]; export interface ConfigOptions { allowHumanOnly?: boolean; filePath?: string; } export interface ConfigWriteResult { path: string; class: ConfigKeyClass; value: string | number | boolean | number[] | ModelSlotBinding; persistedTo: string; } export declare function setConfigValue(path: string, rawValue: unknown, opts?: ConfigOptions): ConfigWriteResult; export interface ConfigRemoveResult { path: string; class: ConfigKeyClass; removed: boolean; persistedTo: string; } export declare function unsetConfigValue(path: string, opts?: ConfigOptions): ConfigRemoveResult; export interface ConfigValueView { path: string; class: ConfigKeyClass; value: unknown; } export declare function getConfigValue(path: string, opts?: ConfigOptions): ConfigValueView; export declare function listConfig(opts?: ConfigOptions): Record;