export type LogLevel = "debug" | "info" | "warn" | "error"; export type ExtractionMode = "local" | "byok" | "managed"; export type FallbackMode = "passthrough" | "error"; export type ThemeMode = "classic" | "mistborn"; export type ThemeLanguageIntensity = "off" | "subtle" | "rich"; export type LocalAiMode = "assist"; export type LocalAiBootstrapMode = "lazy"; export type LocalMemoryAdmissionMode = "disabled" | "shadow" | "enforced"; export interface DaemonRuntimeConfig { baseDir: string; configPath: string; dbPath: string; walPath: string; logDir: string; logFilePath: string; pidPath: string; ownershipPath: string; runtimeRootDir: string; memoryPlaneStatePath: string; surrealRootDir: string; surrealDataDir: string; surrealLogPath: string; surrealPidPath: string; surrealAuthPath: string; surrealPort: number; surrealHost: string; surrealEnabled: boolean; surrealAutoProvision: boolean; localAiRootDir: string; localAiModelPath: string; localAiManifestPath: string; localAiChecksumsPath: string; localAiInstallPath: string; localAiRunnerRootDir: string; localAiRunnerPlatformDir: string; localAiRunnerEntryPath: string; localAiRuntimeBundlePath: string; localAiRuntimeExtractDir: string; localAiRuntimeBinaryPath: string; localAiRuntimeServerPath: string; localAiRunnerManifestPath: string; localAiRunnerChecksumsPath: string; port: number; host: string; /** If true, allow binding to non-loopback interfaces (0.0.0.0, ::). Default false. */ allowNonLoopback: boolean; /** If true, require a valid API key for all /v1/* endpoints. Default false. */ requireApiKey: boolean; /** Authoritative server-side user identity. All requests are scoped to this userId regardless * of client-supplied user_id params/body/headers. Set via COPPERMIND_USER_ID env or config.yaml. */ defaultUserId: string; upstreamUrl: string; upstreamModel: string; apiKey: string | null; providerKey: string | null; syncUrl: string; extractionProviderUrl: string | null; extractionProviderKey: string | null; extractionModel: string; extractionMode: ExtractionMode; fallbackOnUnavailable: FallbackMode; themeMode: ThemeMode; themeLanguage: ThemeLanguageIntensity; localAiEnabled: boolean; localAiMode: LocalAiMode; localAiBootstrap: LocalAiBootstrapMode; localMemoryAdmissionMode: LocalMemoryAdmissionMode; localAiTaskTimeoutMs: number; localAiMaxPromptChars: number; localAiMaxOutputChars: number; localAiStructuredOutputOnly: boolean; syncEnabled: boolean; syncIntervalSeconds: number; healthCheckIntervalSeconds: number; startupTimeoutSeconds: number; logLevel: LogLevel; dbSizeLimitMb: number; maxMemoryTokens: number; localAiContradictionSuppression: boolean; contradictionSuppressionMode: "off" | "shadow" | "active"; contradictionStrongThreshold: number; contradictionPossibleThreshold: number; contradictionPossiblePenalty: number; contradictionRequireNewer: boolean; contradictionCandidatePoolSize: number; } export interface DaemonConfigFile { [key: string]: string | number | boolean | null | undefined; } export declare function resolveBaseDir(): string; export declare function resolveDaemonPaths(baseDir: string): Pick; export declare function loadDaemonConfig(overrides?: Partial): DaemonRuntimeConfig; //# sourceMappingURL=config.d.ts.map