import type { AgentDefinition, ThreadTemplate } from '../../core/types/thread-types.js'; export declare const FILE_REF_PREFIX = "file:"; export declare function setAdminNotifier(fn: (text: string) => void): void; /** Resolve a "file:" reference for a given field. Returns value unchanged if not a file ref. * Exported so prompt-builder.ts can resolve file refs on per-template agent overrides. */ export declare function resolveFileRef(field: string, value: string | undefined): string | undefined; /** Resolve a plugin directory path. Absolute paths are returned as-is; * relative paths are resolved against DATA_DIR (plugins live under DATA_DIR/plugins/). */ export declare function resolvePluginDir(dir: string): string; /** * Merge defaults thread-templates.json into the user's config. * - Agents/templates not in user config → added from defaults. * - Agents/templates already in user config → preserved as-is (never overwritten). * - If user config doesn't exist → copy defaults in full. * - Malformed user config → replace with defaults. * * @returns true if the user config file was written, false if no changes were needed. */ export declare function mergeThreadTemplates(defaultsPath: string, userConfigPath: string): boolean; export declare function loadConfig(): { agents: Record; templates: Record; }; export declare function startConfigWatcher(): void; export declare function stopConfigWatcher(): void; export declare function getAgent(name: string): AgentDefinition | null; export declare function listAgents(): AgentDefinition[]; export declare function getTemplate(name: string): ThreadTemplate | null; export declare function listTemplates(): ThreadTemplate[]; export declare function listTemplateNames(): string[];