/** * Builtin Function Registry * * Core-owned registration point for the builtin function table. The table * itself lives in `runtime/ext/builtins.ts`, which sits above core in the * layer order, so core cannot import it directly (enforced by the * `no-restricted-imports` layer rules in .oxlintrc.json). Instead, ext * registers its table here at module load, and core consumers * (`context.ts`, `introspection.ts`) read from this registry. * * Contract: the registered table is treated as frozen after registration. * Mutating it afterwards produces stale cache entries. */ import { type ApplicationCallable, type RillFunction } from './callable.js'; /** * Register the builtin function table. Called by `runtime/ext/builtins.ts` * at module load. `untypedNames` lists builtins that are genuinely variadic * and must skip arg validation. */ export declare function registerBuiltinFunctions(fns: Record, untypedNames: ReadonlySet): void; /** Builtin functions as pre-parsed callables, keyed by name. */ export declare function getBuiltinFunctionCache(): ReadonlyMap; /** True when `name` is a registered builtin function. */ export declare function isBuiltinFunctionName(name: string): boolean;