import type { FunctionMetadata, ResolvedFunction } from "../types.ts"; import type { FunctionCall } from "./parser.ts"; /** * Resolve function names to their file locations using fileExists(). * * For each function name, three candidate locations are checked in priority * order. The first existing file wins. Functions whose body is empty after * frontmatter are skipped. Functions that cannot be found in any location * are silently skipped (a warning is logged). * * Resolution priority: * 1. {roleDir}/functions/{name}.md (role-local) * 2. {globalFunctionsDir}/{name}.md (global) * 3. {builtinDir}/{name}.md (built-in) */ export declare function resolveFunctions(names: string[], roleDir: string, globalFunctionsDir: string, builtinDir: string): Promise; /** * Apply parameter substitution to a function's content. * * Replaces `{param_name}` placeholders with values from the activation call. * Positional args (from colon syntax) are mapped to param declaration order. * Missing params fall back to their declared default values. * Unresolved placeholders (no value, no default) are left as-is. */ export declare function applyParams(fn: ResolvedFunction, call: FunctionCall): string; /** * Read a function file and extract its frontmatter metadata and body content. * * @throws If the file cannot be read. */ export declare function loadFunctionContent(filePath: string): Promise<{ metadata: FunctionMetadata; content: string; }>; //# sourceMappingURL=file-resolver.d.ts.map